MVC 中的Areas支持

时间:2023-03-08 17:31:56

在ASP.NET MVC 2中对于Area功能的增强,这样的增强是如何在同一个项目中更好地组织应用程序的?

  ASP.NET MVC 1.0时,如果我们要在一个项目中做自己网站的后台应用,而又保持URL的整洁性,是很困难的,那需要你自己做很多工作来,通过自有的方式实现Area的功能,效果可能还不那么好,因为默认情况下Controller是不区分命名空间的。例如:前台可能有这样的地址:http://testhost/News/List,而你希望在后台的News管理列表的Url是:http://testhost/admin/News/List,这几乎是不可能完成的任务,让我们非常困扰。

  ASP.NET MVC 2添加了Areas的支持,

解决上述问题我们就可以添加一个Area,名字叫做admin,

这时项目中就有了一个Areas文件夹,

里面是admin文件夹,admin里面包含了Controllers、Models、Views三个目录和一个名叫的AreaRegistration.cs文件,

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "News", action = "List", id = UrlParameter.Optional }
).DataTokens.Add("Area", "admin");

只需添加红色部分即可