Controller 卸下控制器';主页';从MVC5中的URL
我需要从我的项目的URL中删除控制器“Home”,现在它看起来像这样:example.com/Home/contact,我希望它看起来像这样:example.com/contact(也适用于服务、我们的团队、画廊等其他部分) 我试图删除RouteConfig.cs代码中出现在{action}/{id}之前的{controller},如下所示:Controller 卸下控制器';主页';从MVC5中的URL,controller,asp.net-mvc-5,url-routing,Controller,Asp.net Mvc 5,Url Routing,我需要从我的项目的URL中删除控制器“Home”,现在它看起来像这样:example.com/Home/contact,我希望它看起来像这样:example.com/contact(也适用于服务、我们的团队、画廊等其他部分) 我试图删除RouteConfig.cs代码中出现在{action}/{id}之前的{controller},如下所示: namespace myproject { public class RouteConfig { public static void Regis
namespace myproject
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}
并且控制器“主页”从URL中消失,但以下登录和管理链接不起作用:
@Html.ActionLink("Login here", "Login", "Account")
@Html.ActionLink("Manage website", "Index", "Manage")
在URL中不显示控制器“主页”的情况下,如何使这些链接正常工作?您需要将以下内容添加到RouteConfig.cs中
routes.MapRoute(
name: "contact",
url: "contact",
defaults: new { controller = "Home", action = "Contact" }
);
确保“默认”路由映射是最后一个。您需要为这些控制器路由添加额外的规则。看这里