MVC中的路由不起作用
问题描述:
我正在阅读MVC上的电子书。
它有下面的例子,但他们都没有工作。
MVC中的路由不起作用
routes.MapRoute("", "X{controller}/{action}");
routes.MapRoute("", "Public/{controller}/{action}",
new { controller = "Home", action = "Index" });
他们都将前往首页controller
和索引action
链接,第一个路由:对于第二条路线http://localhost:14099/XHome/Index
链接:http://localhost:14099/Public/Home/Index
的输出这两者应该与博中的例子相同好。但是当我尝试相同的时候,它没有给出任何结果。即resource cannot be found.
我在这里做错了什么?
以下是我的代码,我已经写了:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute("", "X{controller}/{action}");
routes.MapRoute("MyRoute", "{controller}/{action}",
new { controller = "Home", action = "Index" });
routes.MapRoute("", "Public/{controller}/{action}",
new { controller = "Home", action = "Index" });
}
答
我写默认这是错误的之后的路线,所以我不得不默认这是相当明显的前写。
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute("", "X{controller}/{action}");
routes.MapRoute("MyRoute", "{controller}/{action}",
new { controller = "Home", action = "Index" });
routes.MapRoute("", "Public/{controller}/{action}",
new { controller = "Home", action = "Index" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}