模型绑定到 MVC 4 中的列表
尝试将项目的 IList 绑定到 MVC 4 中的视图时,可能会出现问题在 HttpPost 期间。为了应对这一挑战,请考虑以下模式:
ViewModel:
创建一个包含项目 IList 的 ViewModel:
public class MyViewModel { public List<Person> Persons{get;set;} }
View:
在视图中,迭代IList并生成每个属性的表单输入:
@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) }
操作:
在操作方法中,处理发布的 MyViewModel对象:
[HttpPost]public ViewResult(MyViewModel vm) { ... }
注意事项:
@for( int i = 0; i < Model.Persons.Count(); ++i) { @Html.Hidden($"Persons[{i}].PersonId", Model.Persons[i].PersonId) @Html.Editor($"Persons[{i}].FirstName", Model.Persons[i].FirstName) @Html.Editor($"Persons[{i}].LastName", Model.Persons[i].LastName) }
以上是如何在 HttpPost 期间有效地将列表绑定到 ASP.NET MVC 4 中的视图?的详细内容。更多信息请关注PHP中文网其他相关文章!