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