asp mvc设计问题:多种数据类型的单一视图

时间:2010-01-06 00:06:46

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

在我的数据库中,可能有十几个表代表查找类型(所有表都有ID和Name列 - 不,它们必须保留为单独的表,不会标准化为一个表)。我正在构建一个管理应用程序,我希望管理员能够添加/编辑/删除/列出所有这些查找。我知道我可以重用模型,但是有一种更有效的方式让我在asp mvc 2应用程序中编写它,除了写3个视图,每个查找类型1个控制器,产生48个视图和12个控制器? / p>

4 个答案:

答案 0 :(得分:1)

我不建议删除模型,控制器和视图之间的耦合。这种模式背后的想法是,您可以将业务逻辑与表示与工作流分开。如果你开始将多个模型混合到相同的视图/控制器中,它会变得混乱。

也许尝试做你正在尝试使用母版页并让你的模型继承公共基类或类似的东西?这样,您可以重用代码而不会将其粉碎到相同的文件中。

答案 1 :(得分:0)

如何将更高级的ORM映射组合到一个实体中呢?

答案 2 :(得分:0)

我会使用一个控制器和每个CRUD操作的操作/视图(1x4)来执行此操作。当架构在一个或多个查找表上发生更改时,我会处理它。否则,如果您为每个表添加一列,请考虑所需的工作:您必须更新48x12或任何文件。

具体方法取决于您的模型,但可以使用ADO.NET并返回一个DataTable或类似的填充动态SQL语句,其中表名由视图提供。当然,如果使用字符串连接,则需要防止SQL注入。

“创建”视图将类似地使用来自已发布表单的表名来了解要使用发布的数据更新哪个表。

答案 3 :(得分:0)

使用T4模板(decent example)来构建所有内容。您应该能够根据每个模型对控制器和视图进行编码。

对不起,我的答案是使用48个视图和12个控制器...设置代码生成,这样如果你添加更多的查找类型,你需要做的就是重新运行代码,繁荣,设置控制器和视图。