我在 asp.net MVC 中创建了一个名为 Member 的区域。我还在该区域创建了两个控制器,即 AccountController 和 DashboadController。
在 DashboadController 中有 3 个方法,分别是 Indext、MemberList 和 Create。
当我运行项目并转到 MemberAre 时,URL 如下所示 “https://localhost:44394/Member/Dashboad”
当我进入会员列表页面时,URL如下 “https://localhost:44394/Member/Dashboad/MemberList”
我想从 URL 中删除 Dashboad ControllerName。我该怎么办??
我在 RouteConfit 文件中设置以下代码。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute( 名称:“默认”, 网址:“{action}/{id}”, 默认值:new {controller =“Home”,action =“Index”,id = UrlParameter.Optional} );
在您的
MemberAreaRegistration
类中,您可以定义 DashboadController
的路由规则/约束,无需控制器名称路径:Member/{action}/{Id}
。
确保在默认路由规则/约束之前应用此路由规则/约束。
public class MemberAreaRegistration : AreaRegistration
{
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Member_Dashboad",
"Member/{action}/{id}",
new { controller = "Dashboad", action = "Index", id = UrlParameter.Optional }
);
context.MapRoute(
"Member_default",
"Member/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}