从视图中读取用户输入的集合?

时间:2013-08-04 06:31:29

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我创建了一个页面,向用户显示问题列表&阅读每个问题的用户输入。

问题:当用户提交表单时,Model参数为空。

View的Post Action定义如下 -

[HttpPost]
public ActionResult Index(IEnumerable<Question> model)
{
    return View(model);
}

向用户显示选项的代码如下 -

@foreach (var quest in Model)
{
    <li>
        @Html.LabelFor(x => quest.Title, quest.Title)
        <ol class="Opt">
            @foreach (var opt in quest.Options)
            {                                    
                <li>@Html.RadioButtonFor(o => opt, opt.Title)
                    @Html.LabelFor(o => opt.Title, opt.Title)                                
                </li>
            }
        </ol>
    </li>
}

此处模型为@model List<LakshyaMvc.Models.Question>,当然我已将代码包装在@using (Html.BeginForm())

1 个答案:

答案 0 :(得分:1)

更改您的视图模型。

@using (Html.BeginForm("Index", "Queries", FormMethod.Post))
{
    for (int i = 0; i < Model.Count; i++)
    {
    <li>
        @Html.LabelFor(x => Model[i].Question, Model[i].Question)
        <ol class="Opt">
            @for (int j = 0; j < Model[i].Options.Count; j++)
            {                                    
                <li>@Html.RadioButtonFor(o => Model[i].Options[j].Option, false)
                    @Html.LabelFor(o => Model[i].Options[j].Option,
                                                     Model[i].Options[j].Option)
                </li>
            }
        </ol>
    </li>
    <input type="submit" name="Submit" value="Submit" />
    }
}