我有一个正在发送到我的视图的动态创建的问题列表。有时会有5个问题,有时候会有20个问题。我遇到的问题是在后调用上传回值。
数据传递给了调用后
question1:first answer
question2:second answer
question3:third answer
question4:and so on...
question5:and so on...
理论上,对于我的模型,我可以做这样的事情
[HttpPost]
public ActionResult Index(String question1, ..., String question100) {
//code
}
但这只是荒谬的。我正在尝试的实质上是将一个字符串列表传回给控制器。但我不确定如何实现这一目标。
查看代码(某些行已被删除或重命名)
@using MyWebsite.Models
@model List<QuestionModel>
@Scripts.Render("~/bundles/jqueryval")
<div>
@using (Html.BeginForm()) {
int questionNum = 0;
foreach (QuestionModel question in @Model) {
questionNum++;
<label>@question.Question</label>
<label class="comment">@question.Comments</label>
<input data-val="true" data-val-required="This question is required." id="@("question"+questionNum)" name="@("question"+questionNum)" type="text" value=""/>
<span class="field-validation-valid" data-valmsg-for="@("question"+questionNum)" data-valmsg-replace="true"></span>
}
<input type="submit" value="Submit Report" />
}
</div>
答案 0 :(得分:2)
控制器:
[System.Web.Http.HttpPost]
public ActionResult Index(List<string> values)
{
return View();
}
查看:
<form action="/Sample/Index">
<input id="values_0" name="values" />
<input id="values_1" name="values" />
<input type="submit" value="Enviar"/>
</form>