我正在尝试使用Asp.net MVC从大规模形式中检索数据。其顶层对象L1包含属于其他类型L2的集合的属性。但是,类型L2包含一些L3类型集合的属性,依此类推。可能有5个级别的嵌套集合。
我已经看到了在Asp.Net MVC中绑定到Lists的方法,其中元素名称的所有属性html元素的名称中都包含一个数组子字符串,例如:第一组中的[0],第二组中的[1]等。
然而,当我们有嵌套对象时,去城镇[0] .council [0] .street [0] .Name并使用该约定命名html元素将会非常棘手/噩梦。
有没有人遇到过这种情况/可以看到一种优雅的解决方法吗?
由于
米奇
答案 0 :(得分:1)
ASP.NET MVC附带的默认模型绑定器决定了您所指的表单元素命名约定。如果您希望使用另一个约定来命名表单元素,请选择它。然后,您只需编写一个自定义模型绑定器,它可以根据您的约定填充嵌套对象。
有很多教程用于创建模型绑定器,这里有一些:
http://www.singingeels.com/Articles/Model_Binders_in_ASPNET_MVC.aspx
http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/03/17/a-better-model-binder.aspx
答案 1 :(得分:0)
您可能需要考虑使用LINQ来为您抽象细节,并允许您在列表上执行连接和诸如此类的东西。