如何在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一个新区域时,我得到了一个从AreaRegistration
inheritance的区域的类,如下所示:(这里的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区域。