我需要创建一个带有问题和文本框的表单,以允许用户输入他们的答案并发送以进行验证。似乎@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>
答案 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与模型
一起使用