我將List傳遞給了局部視圖,它工作正常,它顯示了所有數據,但是當我保存模型時,List返回null,我錯過了什麼?保存模型時,部分視圖列表返回null
- 不注意對象,我寫了假的例子。
這個CSHTML:
@model ViewModels.StudentVM
@using (Html.BeginForm("SaveStudent", "StudentsView", FormMethod.Post}))
{
@Html.AntiForgeryToken();
<div class="row">
<span>Student name:</span>
@Html.TextBoxFor(s => s.Name)
</div>
<div>
@Html.Partial("StudentsList", Model.Students)
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn">
</div>
}
當裝載觀點我得到的所有學生視圖模型:
vm.Students = await _studentController.GetAllStudents(); // returned 20 Students.
局部視圖:
@model IEnumerable<Entities.Students>
<table class="table-bordered">
@foreach (var item in Model)
{
<tr>
<td>
@Html.CheckBoxFor(modelItem => item.IsSelected)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
</tr>
}
</table>
我想要獲得所有選定的學生,因此可以說我會選擇3名學生。 然後點擊保存按鈕。結果:雖然我選擇了3名學生,但Model.Students爲null。我怎樣才能讓這些學生?
不能使用的部分,以生成用於控制一個複雜的對象,除非你通過'HtmlFieldPrefix'(參照[此答案](http://stackoverflow.com/questions/29808573/得到最值從 - 一個嵌套複合-OB ject-that-is-pass-to-a-partial-view/29809907#29809907)),但正確的方法是使用'EditorTemplate'作爲type of'Students'(參考[this answer](http:// stackoverflow如果你想要發佈任何有意義的內容 - 你需要一個ID屬性的輸入,例如:http://google.com/articles/30094047/html-table-to-ado-net-datatable/30094943#30094943) –
'學生'對象 –