在ASp.NET MVC中保持层次结构 - 使用区域还是只是路由?

时间:2013-09-21 16:58:24

标签: asp.net-mvc asp.net-mvc-routing url-routing asp.net-mvc-areas

我是ASP.NET MVC4的新手。

我必须构建一些实用程序(~40-50),这些实用程序将由我们内部Windows域中的4组用户使用。

我制作了一个名为 SupportController 的控制器,我打算在那里包含我想要的40个动作。

其中一些对每个群体都是特殊的,有些是常见的。

我想通过访问HomeController创建一个首页 - >指数行动。这个首页将包含一个全局菜单。

我希望网址像:

www.mydomain.com/bg/nullfix
www.mydomain.com/bg/invoicecorrection
www.mydomain.com/ro/updatecurrency
www.mydomain.com/ro/deletecosting
www.mydomain.com/common/fixaddressbook

e.t.c

根据我的阅读,我通过改变路由配置来做这个url结构,例如(涵盖上面的例子#1 url):

routes.MapRoute(
                name: "BgNullifiedInvoice",
                url: "bg/nullfix",
                defaults: new { controller = "Support", action = "BgNullifiedInvoicesFix"}
                );

由于这将是我的入门级mvc项目,它会随着时间的推移而增长......

开始使用ASP.NET MVC的Areas功能或仅使用路由获取是否合适?

1 个答案:

答案 0 :(得分:1)

我个人建议在这样的项目中使用区域。它们的存在是为了将您的软件功能分离为模块化,有组织且易于维护的组,每个组都有自己的路由 - 这正是您所需要的。

有一点关于软件的确定是变化,区域有助于缓解这种变化。