我使用匿名类的主要目的是将包含主模型之外的各种值的数据传递给查看,而无需创建单独的视图模型。
我发现自己对 LINQ 和 ExpandoObject 非常满意。但是,由于我使用@model IEnumerable 标记了视图,因此我不再能够使用 Html Helper,因为它的方法应该被解析为扩展方法,这是不允许的并且应该引发运行时异常。
@Html.Display("Property")
问题是我有属性需要渲染为 TextBox 等进行编辑,因此我几乎必须使用像 EditorFor() 这样的 Html Helper 方法。因此,我想我还不如回到强类型模型。
但是,我真的不想用无数的“临时”视图模型弄乱我的项目,这些视图模型只是现有模型的混合体。那么有没有办法做到这一点呢?我想知道是否有比复合类更好的解决方案。