C# ASP.NETMVC中的区域路由问题
似乎区域路由对我来说是个问题。这是我的问题,我有一个名为Administration的应用程序,我有一个名为DepartmentController的控制器。现在我需要创建一个路由,该路由将生成一个链接,如 这就是我所做的 在应用程序的Route.Config文件中,我添加了如下自定义路由:C# ASP.NETMVC中的区域路由问题,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,似乎区域路由对我来说是个问题。这是我的问题,我有一个名为Administration的应用程序,我有一个名为DepartmentController的控制器。现在我需要创建一个路由,该路由将生成一个链接,如 这就是我所做的 在应用程序的Route.Config文件中,我添加了如下自定义路由: routes.MapRoute( name: "DeptSetup", url: "Setup/Department/{action}/{id}",
routes.MapRoute(
name: "DeptSetup",
url: "Setup/Department/{action}/{id}",
defaults: new { controller = "Department", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Administration.Controllers" }
);
有了这些,我就找不到资源了
我尝试了AdministrationArea注册,如下所示:
context.MapRoute(
name: "DeptSetup",
url: "Setup/Department/{action}/{id}",
defaults: new { controller = "Department", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Administration.Controllers" }
);
一切都不管用。请给我指出正确的方向
谢谢您缺少路由URL模板中的区域部分。使用
AdministrationAreaRegistration
是一种正确的方法,因为地区应该负责注册自己的路线,但路线本身应该如下所示:
url: "Administration/Setup/Department/{action}/{id}"
您应该使用区域注册(
AdministrationAreaRegistration
)类,并应将管理员(区域名称)添加到url
模板中:
context.MapRoute(
name: "DeptSetup",
url: "Administrator/Setup/{controller}/{action}/{id}",
defaults: new { controller = "Department", action = "Index", id = UrlParameter.Optional }
);