在项目上右键,添加Area(如Demo),VS会在项目下生成一个Areas文件夹,里面有个DemoAreaRegistration类,代码如下:
public class DemoAreaRegistration : AreaRegistration { public override string AreaName { get { return "Demo"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Demo_default", "Demo/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } }
在项目的Global.asax.cs的Application_Start()方法里有这样一行代码(没有自己加):
AreaRegistration.RegisterAllAreas();
这个就是注册Area路径的。
在Html.ActionLink中要这样写:
@Html.ActionLink("TestText", "Index", "Test", new { area = "Demo" }, null)
其中Index是Action,Test是Controller