2013-08-04 5 views
1

Я создал страницу для отображения списка вопросов пользователю & прочитал ввод пользователя для каждого вопроса.Чтение коллекции пользовательского ввода из представления?

Вопрос: Когда пользователь отправляет форму, Model Параметр имеет значение NULL.

Сообщение Действие Вид определяется как ниже -

[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" /> 
    } 
} 
Смежные вопросы