嘗試將項目的 IList 結合到檢視時,HttpPost 方法可能會出現問題。雖然存在 Phil Haack 的文章等有用資源,但它們可能無法反映 MVC 4 中的潛在更新。為了解決這個問題,讓我們探索詳細的解決方案。
public class MyViewModel { public List<Person> Persons{get;set;} }
@model MyViewModel @for( int i = 0; i < Model.Persons.Count(); ++i) { @Html.HiddenFor(m => m.Persons[i].PersonId) @Html.EditorFor(m => m.Persons[i].FirstName) @Html.EditorFor(m => m.Persons[i].LastName) }
[HttpPost]public ViewResult(MyViewModel vm) { ... }
@for( int i = 0; i < Model.Persons.Count(); ++i) { if(i != 4)//conditionally hide 5th item, { //but BUG occurs on postback, all items after 5th will not be bound to the the list @Html.HiddenFor(m => m.Persons[i].PersonId) @Html.EditorFor(m => m.Persons[i].FirstName) @Html.EditorFor(m => m.Persons[i].LastName) } }
以上是如何在 ASP.NET MVC 4 中有效處理模型與清單的綁定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!