簡體   English   中英

自定義地圖路線在asp.net mvc中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM