剃刀视图在不知道域模型的情况下显示域模型属性

时间:2012-11-10 09:45:59

标签: asp.net-mvc asp.net-mvc-3 razor

背景:我有一个简单的地图应用程序(由GeoServer支持),允许用户单击某个功能并选择一个显示所选功能信息的数据表。然后将在地图下插入HTML表格以显示查询结果。

问题:由于用户可以选择至少40个表格,我不想构建40多个部分视图。是否有可能构建一个Razor视图,可以处理传递给它的任何模型并构建HTML表而不知道域模型的结构?经过一番探索后,我倾向于没有。

参考:与我之前的问题相关 Dynamic DBSet lookup and query

1 个答案:

答案 0 :(得分:1)

实际上,当您致电EditorForModelDisplayForModel或类似网站时,asp.net mvc已经这样做了。如果对应的模型类型没有开发人员定义的视图,则它调用对象模板,该模板使用反射来渲染编辑器和显示视图。该模板没有预定义的模型类型知识。

您可以将模型类型设置为视图对象,并使用反射生成表格。