Asp.net mvc 删除MVC中的控制器名称
我在“根”文件夹中有两个名为“索引”和“联系人”的视图。我在global.asax中完成了以下操作` 控制器:rootController 视图:Roor/index.cshtml,Roor/Contact.cshtmlAsp.net mvc 删除MVC中的控制器名称,asp.net-mvc,routes,Asp.net Mvc,Routes,我在“根”文件夹中有两个名为“索引”和“联系人”的视图。我在global.asax中完成了以下操作` 控制器:rootController 视图:Roor/index.cshtml,Roor/Contact.cshtml public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Contact",
url: "root/Contact",
defaults: new { controller = "Root", action = "Contact", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Root", action = "Index", id = UrlParameter.Optional }
);
}
当我运行URL时,正在加载索引页。
但是当我为运行时,得到了404错误。运行localhost时:8889/Root/Contact正在成功加载。
我想在URL中运行不带root的联系人。尝试从您的
联系人
路径中删除root/
,如下所示
routes.MapRoute(
name: "Contact",
url: "Contact",
defaults: new { controller = "Root", action = "Contact", id = UrlParameter.Optional }
);
移除
联系人
路线。它要求ContactController
只能通过root/Contact
访问默认根目录足以匹配控制器名称和控制器为什么不完全删除路由?