【问题标题】:use of Areas in MVC2MVC2 中区域的使用
【发布时间】:2013-03-15 13:04:36
【问题描述】:

MVC2 中“区域”的用途是什么

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 这正是我在为雇主构建的电子商务 CMS 中实施区域的方式。我在默认区域和我的管理区域都有一个 ProductsController。这种技术的另一个好处是我的前置 ProductsController 包含零实体操作操作,这意味着我可以非常严格地控制何时何地可以编辑数据(仅在受保护的管理区域中)。
    【解决方案2】:

    我正在使用按类型划分内容的区域在 CMS 中试用它们。所以我有日历、新闻/博客、导航和页面的区域(一个包罗万象的地方)。

    根据我目前的简短经验,领域的好处是:

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

    我确实认为承认第一点很重要。对于某些人来说,执行 RenderAction 和对其他领域的类似调用的额外工作可能会破坏交易。我还注意到带区域的路由可能略有不同:我依赖于 web.config 中的注册处理程序,但在将我的包罗万象的路由移动到某个区域后,路由不再适用。我必须为图像处理程序添加一个显式忽略。

    【讨论】:

      【解决方案3】:

      这是在谷歌上搜索“Areas MVC2”时的top hit

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2011-11-30
          • 1970-01-01
          • 2011-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多