从ASP.NET MVC2控制器返回特殊视图模型

时间:2010-09-23 15:51:05

标签: asp.net-mvc asp.net-mvc-2 mvvm

我正在将现有系统移植到ASP.NET MVC2。在当前的遗留应用程序中,用户可以从数十个可用字段中进行选择,为域模型中的不同实体自定义CRUD表单,类似于ERP系统允许自定义核心模块的方式。

我的问题:我正在为ASP.NET MVC2中的这种行为寻找一个好的模式或示例。在我看来,它更像是根据用户选择动态创建ViewModel,或者正确的方法是数据驱动的视图页面,这些页面不是强类型的,我可以在客户端反映结果以确定字段标题或其他内容 - 如果这是有道理的:)。或者我可以根据用户选择动态地驱动AutoMapper或类似的@ runtime吗?

底层域模型是基于EF4的,我正在为ViewModel使用一个简单的存储库模式@ present。

任何输入的TIA!迈克尔

1 个答案:

答案 0 :(得分:2)

如果我没有找到任何符合需求的东西并继续自定义,我会:

  • 将ViewModel与所有字段一起使用/而不仅仅是用户选择的字段。
  • 将ViewModel和视图配置传递给视图
  • 调用一些html帮助器,为配置中的每个项添加一个带有模型中相应属性的字段
  • 配置可以作为包含ViewModel的一部分传递,也可以传递给ViewData中的单独条目
  • 根据您的需要,构建/传递视图配置可以放在Action Filter中。或者,助手可以直接拉动它。

如果您需要完全自定义字段,则采用不同的方法。我是指用户定义的字段。如果那是场景,那么就没有在控制器级别输入,所以我将字段/值列表传递给视图。视图可以对添加字段的人进行预测。再次,这可以移动到HtmlHelper。

相关问题