2

我有一个发送到动态创建的视图的问题列表。有时会有5个问题,有时会有20个问题。我遇到的问题是在调用后将值传回。

传递给 post call 的数据

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>
4

1 回答 1

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>
于 2013-07-12T18:19:35.330 回答