1
我已经定义了几个静态路由看起来像以下1个动态路由:定义多个静态路由和1个控制器.NET MVC
routes.MapRoute(
name: "LogOutRoute",
url: "Index/LogOut",
defaults: new { controller = "Index", action = "LogOut" }
);
routes.MapRoute(
name: "Tutorials",
url: "Index/Tutorials",
defaults: new { controller = "Index", action = "Tutorials" }
);
;第三是它看起来像下面的动态路由:
routes.MapRoute(
name: "Index",
url: "Index/{id}",
defaults: new { controller = "Index", action = "Index" }
);
我想为我的索引控制器来定义这两条静态路由:
/Index/Tutorials
/Index/LogOut
每隔路线应指向:
/Index/{id}
我定义它现在适用于2个静态路由,但这样当我试图通过参数这样是不是像下面两个静态路由之一:
http://localhost:60617/Index/12345/
其中12345是ID,我得到以下错误:
The resource cannot be found.
我怎样才能正确地定义这些路线?有人可以帮我吗 ?
下面是路由类:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "LogOutRoute",
url: "Index/LogOut",
defaults: new { controller = "Index", action = "LogOut" }
);
routes.MapRoute(
name: "Tutorials",
url: "Index/Tutorials",
defaults: new { controller = "Index", action = "Tutorials" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Index",
url: "Index/{id}",
defaults: new { controller = "Index", action = "Index" }
);
routes.MapRoute(
name: "ResetPwdRoute",
url: "{controller}/{action}/{id}",
defaults: new { controller = "User", action = "ResetPwd", id = UrlParameter.Optional }
);
}
}
还应当指出的是,'ResetPwdRoute'在这种情况下是完全没有意义的,因为'Default'路线无论如何都会处理这种情况。 – NightOwl888