如何在ASP.NET MVC3中configuration区域

有谁知道如何在ASP.NET MVC3configuration区域。 我在这里读了一篇关于地区的文章。 但那篇文章不是基于MVC3的。 在MVC3中,在Global.asax中找不到RouteCollection routes名为MapRootArea函数

 routes.MapRootArea("{controller}/{action}/{id}", "AreasDemo", new { controller = "Home", action = "Index", id = "" }); 

当我使用MVC3创build一个新区域时,我得到了一个从AreaRegistrationinheritance的区域的类,如下所示:(这里的Blogs是区域名称)

 public class BlogsAreaRegistration : AreaRegistration { public override string AreaName { get { return "Blogs"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Blogs_default", "Blogs/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } } 

任何人都可以请帮助我如何configurationMVC3区域。 任何types的链接也将有所帮助。

右键单击您的Web项目,然后select添加 – >区域…然后input区域的名称,Visual Studio将负责生成所有必需的类的其余部分。 例如,区域注册可能如下所示:

 public class AreasDemoAreaRegistration : AreaRegistration { public override string AreaName { get { return "AreasDemo"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "AreasDemo_default", "AreasDemo/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } } 

并在Global.asax Application_Start ,您只需要:

 AreaRegistration.RegisterAllAreas(); 

您可以在根目录和区域中使用相同的控制器名称,您只需定义它即可。

在您的global.asax中,添加routes.maproute的最后一行,如下所示

  routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults new[]{"YourNameSpace.Controllers"} ); 

另外,在您的ares / ????? AreaRegistration.cs文件中添加控制器的名称

  context.MapRoute( "Membership_default", "Membership/{controller}/{action}/{id}", new { controller= "Home", action = "Index", id = UrlParameter.Optional } ); 

请在下面的图片中find如何在mvc中configuration区域。 在这里输入图像说明