Приложение для опроса ASP.NET с разными точками для каждого вариантаC#

Место общения программистов C#
Ответить
Anonymous
 Приложение для опроса ASP.NET с разными точками для каждого варианта

Сообщение Anonymous »

В настоящее время я разрабатываю приложение для опроса/викторины, в котором каждый вариант будет иметь различный набор точек, и в конечном итоге результаты будут показаны с точками из всех вариантов пользователя, рассчитанных в общей сложности. В то же время участвующему пользователю придется сначала отправить свое имя и адрес, и когда он закончил с помощью викторины, их выбор записывается в базу данных. В настоящее время у меня есть три вопроса и варианты, готовые для тестирования, а также их соответствующие точки, уже определенные в их базе данных, и я застрял в том, как реализовать расчет. < /P>
База данных вопросов: < /p>
if (!dbContext.Questions.Any())
{
//var question1Score = 0f;
var question1 = new Question()
{
Text = "How often do you smoke within a week?",
Option = new List
{
new()
{
Id = 11,
String = "Often",
IndexScore = 1.0f
},
new()
{
Id = 12,
String = "Occasionally",
IndexScore = 0.5f
},
new()
{
Id = 13,
String = "Rarely",
IndexScore = 0.25f
},
new()
{
Id = 14,
String = "Not smoking",
IndexScore = 0.1f
}
},
};
var question2 = new Question()
{
Text = "How often do you drink coffee within a week?",
Option = new List
{
new()
{
Id = 21,
String = "Often",
IndexScore = 1.0f
},
new()
{
Id = 22,
String = "Occasionally",
IndexScore = 0.5f
},
new()
{
Id = 23,
String = "Rarely",
IndexScore = 0.25f
},
new()
{
Id = 24,
String = "No",
IndexScore = 0.1f
}
},
};
var question3 = new Question()
{
Text = "How often do you exercise within a week?",
Option = new List
{
new()
{
Id = 31,
String = "No",
IndexScore = 0.5f
},
new()
{
Id = 32,
String = "Sometimes",
IndexScore = 0.25f
},
new()
{
Id = 33,
String = "Often",
IndexScore = 0.1f
}
},
};

dbContext.Questions.AddRange([question1, question2, question3]);
dbContext.SaveChanges();
}
< /code>
контроллер: < /p>
[HttpPost]
public IActionResult Submit(List userAnswers)
{
var questions = dbContext.Questions.ToList();
var answers = dbContext.Options.ToList();
var score = 0;
var totalScore = questions.Count;

for (var i = 0; i
Интерфейс: < /p>
@if (Model.Questions.Any())
{


Test Survey


Name



Address





@for (int i = 0; i < Model.Questions.Count; i++)
{
@Model.Questions.Text

@foreach (var option in Model.Questions.Options)
{



@option.Text


}


}



Submit


}


Подробнее здесь: https://stackoverflow.com/questions/797 ... ach-option
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»