在MVC3中共享区域之间的控制器和视图

时间:2012-02-07 06:48:43

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

我即将将我的MVC3应用程序隔离到某些区域,但有些控制器和视图在多个区域都很常见。我该如何分享这些?

我在这里考虑了一些选项,但宁愿先听一些建议。我可以在核心应用程序中找到共享控制器/视图,即在任何区域中都没有,并且路由和/或重定向到这些控制器上的操作。我还可以将控制器放在共享库中,并在我的区域中使用派生控制器。然后,类似于我的第一个选项,我可以在我的区域中使用自定义控制器工厂,并使用它们来定位核心应用程序中的共享控制器。

我应该怎么做?

2 个答案:

答案 0 :(得分:3)

这实际上取决于 是什么。

HTML常见吗?然后使用编辑器模板或局部文件并将它们放在共享文件夹中。

控制器代码是否常见?然后使用子操作,将操作本身放在根目录中的控制器中(例如,不在区域中)。

这是一个偏好问题。我是保持控制器DRY的忠实粉丝,所以我喜欢使用子操作来渲染常见内容(想想这个页面上的RHS模块,它们对我来说都是儿童动作)。

另一方面,我的同事更喜欢在视图模型上使用抽象,并在控制器中复制数据访问/设置逻辑。

答案 1 :(得分:1)

相关问题