2013-08-04 24 views
1

我已經創建了一個頁面來向用戶顯示問題列表&閱讀每個問題的用戶輸入。從視圖中讀取用戶輸入的集合?

問題:當用戶提交表單時,Model參數爲空。

觀的POST操作的定義如下 -

[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

更改您的視圖模型。

@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" /> 
    } 
}