首页 >后端开发 >C++ >如何在 MVC 4 中有效地将项目列表绑定到视图?

如何在 MVC 4 中有效地将项目列表绑定到视图?

DDD
DDD原创
2024-12-30 04:18:28615浏览

How Can I Efficiently Bind Lists of Items to Views in MVC 4?

MVC 4 中列表的自定义模型绑定

将项目列表 (IList) 绑定到 MVC 中的视图是一个常见的挑战对于开发人员来说。虽然存在较旧的解决方案,但 MVC 4 引入了简化流程的增强功能。

对于列表中的每个项目都需要自己的数据输入表单的情况,请考虑按如下方式构建 ViewModel:

public class MyViewModel
{
   public List<Person> Persons{get;set;}
}

在视图中,BeginForm 中:

@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 操作将接收更新的视图模型:

[HttpPost]public ViewResult(MyViewModel vm)
{
...
}

请注意,在回发时,只有表单中具有相应输入的属性才会具有值。这是因为 MVC 的模型绑定会查找连续的 ID,并在遇到间隙后停止绑定。因此,确保列表中的所有项目都具有有效 ID 并且表单中没有空白非常重要。

以上是如何在 MVC 4 中有效地将项目列表绑定到视图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn