1

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

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

视图的 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())

4

1 回答 1

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" />
    }
}
于 2013-08-04T08:24:28.127 回答