我使用匿名类的主要目的是将包含主模型之外的各种值的数据传递给视图,而不必创建单独的视图模型。
我发现自己对LINQ和ExpandoObject很满意。但是,由于我使用@model IEnumerable标记了视图,因此我无法再使用Html Helper,因为它的方法应该作为扩展方法解析,这是不允许的,应该抛出运行时异常。
@Html.Display("Property")
问题是我有需要渲染的属性作为TextBox等进行编辑,因此几乎必须使用像EditorFor()这样的Html Helper方法。因此,我想我也可以回归强类型模型。
然而,我真的不想用无数的“临时”视图模型搞乱我的项目,这些视图模型只是现有模型的混合体。有没有办法实现这一目标?我想知道是否有比复合类更好的解决方案。
答案 0 :(得分:0)
您可以使用System.Reflection
获取类Properties
名称。例如:typeof(object).GetProperties