在MVC2中使用区域

时间:2010-04-26 09:55:44

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

MVC2中“区域”的目的是什么

4 个答案:

答案 0 :(得分:5)

有关何时使用区域的具体示例,请考虑使用电子商务网站。您可以为网站的面向公众的部分设置常规控制器,以及管理产品,类别等的“管理”区域。这样您就可以拥有两个完全不同的productController类,这些类具有不同的Details()方法。 (一个用于填充面向公众的视图,其中包含产品详细信息,另一个用于管理员用户,可能包含销售统计信息等)。

答案 1 :(得分:3)

当用Google搜索“区域MVC2”时,这是top hit

  

区域提供了一种分组方式   控制器和视图允许   建立一个大的子部分   相对孤立的应用   其他部分。每个区域都可以   作为单独的ASP.NET MVC实现   可以引用的项目   由主要应用程序。这有帮助   在构建时管理复杂性   大量应用和便利   多个团队一起工作   单独申请。

答案 2 :(得分:3)

我正在CMS中尝试使用按类型划分内容的区域。所以我有日历,新闻/博客,导航和页面的区域(一个全面的落后)。

根据我迄今为止的简短经验,各方面的好处是:

  • 从应用程序的单独部分(即在RenderAction中)调用某些内容时显而易见。
  • 使应用程序的该部分更容易看到模型,视图和控制器之间的连接,因为它们不再混合在一起。
  • 该地区的路线注册就在那里 - 不再全部混合在一起。

我认为承认第一点非常重要。对于一些人来说,做RenderAction的额外工作以及对其他区域的类似调用可能是一个交易破坏者。我也注意到区域的路由可能略有不同:我依赖于web.config中的已注册处理程序,但在将我的catch-all路由移动到某个区域后,路由不再适用于它。我不得不为图像处理程序添加一个显式忽略。

答案 3 :(得分:1)

它在您的应用程序中创建子项目