【问题标题】:Reading collection of user input from the view?从视图中读取用户输入的集合?
【发布时间】:2013-09-06 16:36:28
【问题描述】:

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

问题:当用户提交表单时,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&lt;LakshyaMvc.Models.Question&gt;,当然我已经把代码包裹在@using (Html.BeginForm())里面了

【问题讨论】:

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


    【解决方案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" />
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多