Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 MVC4调查Web应用程序的结构_Asp.net Mvc 4_Viewmodel_Survey - Fatal编程技术网

Asp.net mvc 4 MVC4调查Web应用程序的结构

Asp.net mvc 4 MVC4调查Web应用程序的结构,asp.net-mvc-4,viewmodel,survey,Asp.net Mvc 4,Viewmodel,Survey,我正在尝试使用MVC架构为一个调查应用程序找出模型结构。实际上,这是一个更大的网络应用程序中的问答部分。我有大约120个问题,它们都有固定的答案选项,没有书面答案。目前我有3个表: Question(id, QuestionText) Answer(id, Userid, Questionid, AnswerOptionId) AnswerOption(id, Option) - example: Yes, No, 1-10, etc 我正试图找出如何构建我的viewmodel和view。我不

我正在尝试使用MVC架构为一个调查应用程序找出模型结构。实际上,这是一个更大的网络应用程序中的问答部分。我有大约120个问题,它们都有固定的答案选项,没有书面答案。目前我有3个表:

Question(id, QuestionText)
Answer(id, Userid, Questionid, AnswerOptionId)
AnswerOption(id, Option) - example: Yes, No, 1-10, etc
我正试图找出如何构建我的viewmodel和view。我不能只吃这样的东西:

@Html.LabelFor(m => m.QuestionText)
因为有120个。我需要使用循环还是什么?我也不想将问题硬编码到应用程序中,因为我可能会在应用程序运行时添加/删除/编辑问题


我做了一次搜索,但只找到了创建调查的应用程序,而不是在MVC中构建的实际调查。如果您知道任何示例,请告诉我。

本周早些时候,我实际上遇到了同样的问题。我最终成功地做到了这一点:

我的模型由一系列问题组成,这是我编写的一个自定义类,具有场景所需的必要属性:

List<Question> Questions { get; set; }

见鬼,值得一试。我已经有这个项目在我的办公桌上大约4个月了,所以我愿意接受任何事情。谢谢。如果每个问题的答案不同,那么每个问题都会有一个答案对象列表。我正在尝试这一点,但在将视图模型映射到后期操作时遇到了一些问题。答案列表中有0个答案在post操作中
@foreach (Question question in Model.Questions)
{
     <li>@question.QuestionText</li>
     <li>Answer: @Html.DropDownList(String.Format("ddlAnswer{0}", question.QuestionId), Model.Answers)</li>
}
[HttpPost]
public ActionResult Index(SurveyModel model, FormCollection form)
{
     foreach (Question question in model.Questions)
     {
          question.QuestionAnswer = form[String.Format("ddlAnswer{0}", question.QuestionId)];
     }
}