В настоящее время я разрабатываю приложение для опроса/викторины, в котором каждый вариант будет иметь различный набор точек, и в конечном итоге результаты будут показаны с точками из всех вариантов пользователя, рассчитанных в общей сложности. В то же время участвующему пользователю придется сначала отправить свое имя и адрес, и когда он закончил с помощью викторины, их выбор записывается в базу данных. В настоящее время у меня есть три вопроса и варианты, готовые для тестирования, а также их соответствующие точки, уже определенные в их базе данных, и я застрял в том, как реализовать расчет. < /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
Приложение для опроса ASP.NET с разными точками для каждого варианта ⇐ C#
Место общения программистов C#
1756356514
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[i].Text
@foreach (var option in Model.Questions[i].Options)
{
@option.Text
}
}
Submit
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79748651/asp-net-survey-application-with-different-points-for-each-option[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия