[英]Custom map route is not working in asp.net mvc
我有一個自定義的mvc路線,它不起作用。 如果我在回家路線之前定義路線,那么它的工作原理不然。
這段代碼不起作用。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Citysearch",
"{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);
當我首先定義citysearch
然后它就像這樣工作
routes.MapRoute(
"Citysearch",
"{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
另一個問題是這是城市搜索的http://localhost:51381/dynamic-content
。 dynamic-content
這是我的狀態參數。 它正在調用我的Dashboard/GetDynamicContent
。 但問題是當應用程序運行后登錄url是http://localhost:51381/Home
它總是調用Dashboard/GetDynamicContent
如何擺脫這個問題請幫幫我。
路線從上到下讀取。 因此,路由時將使用第一個路由匹配。
試試這個
routes.MapRoute(
"Home",
"Home/{action}",
new { controller = "Home", action = "index" }
);
routes.MapRoute(
"Citysearch",
"DynamicContent/{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
你必須在你的網址中使用一些修復部分,如下所示DynamicContent/
來解決你所面臨的問題。 你的網址應該像http://localhost:51381/DynamicContent/dynamic-content
。
routes.MapRoute(
"Citysearch",
"DynamicContent/{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.