使用@using(html.beginform())的razor MVC foreach

时间:2015-01-27 23:24:01

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

我需要创建一个带有问题和文本框的表单,以允许用户输入他们的答案并发送以进行验证。似乎@using (Html.BeginForm())@foreach无效。下面是代码,但我不确定这是否正确。有人能指出我正确的方向吗?或者我如何在场景中使用@using (Html.BeginForm())

@model PairingTest.Web.Models.QuestionnaireViewModel

<html>
<head>
    <title>@Model.QuestionnaireTitle</title>
</head>
<body>
    <form action="~/Questionnaire/ProcessData" method="post">

        @foreach (var s in Model.QuestionsText) {

            <text> Question :</text>@s <br />
            @Html.Label("Ans");<br />
            @Html.TextBox("Ans");<br /> 

        }

        <button type="submit">Submit</button>
    </form> 
</body>

2 个答案:

答案 0 :(得分:2)

@using(Html.BeginForm())
{
  for(int i=0;i< Model.QuestionsText.Count;i++)
  {
     <text> Question :</text>@s <br />
     @Html.Label("Ans");<br />
     @Html.TextBoxFor(m => Model.QuestionsText[i].Ans);
  }
}

这将发布QuestionsText的集合,如果您有任何疑问,请告诉我。

答案 1 :(得分:-2)

您需要将IEnumerable与模型

一起使用