【发布时间】:2008-12-28 21:25:27
【问题描述】:
是否可以进行以下操作:
View(new {Object A, Object B})
还是应该在新类型中显式声明对象 A 和对象 B?
谢谢。
【问题讨论】:
-
是的,我想它是相似的。
标签: c# asp.net-mvc model-view-controller
是否可以进行以下操作:
View(new {Object A, Object B})
还是应该在新类型中显式声明对象 A 和对象 B?
谢谢。
【问题讨论】:
标签: c# asp.net-mvc model-view-controller
是的,这样做很好。要获取这些值,您可以使用 ViewData.Eval("PropertyName") 并且现有的 Html 助手可以很好地使用它们。您唯一不能做的就是使用
对属性进行强类型访问【讨论】:
虽然匿名类型对于许多 MVC 用途是通用的,但在这种情况下,我会使用常规命名类,或者在推送时使用字典(或内置字典)。否则,您将不得不使用反射/TypeDescriptor 再次获取值。
【讨论】:
通过传递匿名类型,您不能拥有强类型视图。您还需要在单元测试中使用反射。
【讨论】:
我相信你至少想给他们起个名字:
var model = new
{
ObjectA = new A(),
ObjectB = new B(),
};
view(model);
【讨论】: