我正在嘗試創建一些自定義地圖路線,但無法讓它工作得很正確。自定義MapRoute
我的最終目標是能夠指定如下內容。在哪裏我基本上有我的網址構建的價值對「ID」和「名稱」。這個名字是無關緊要的,僅僅爲了用戶的喜好,我會在我的控制器中要求這個ID。
/儀表板/ 5-MY-村名/ 89-MY-羣名/ 133-也許偶數另一個亞羣
對於我工作的第一部分首發並有麻煩。
瀏覽到的「http://本地主機:53933 /儀表板/ 109建設-XYZ」,而使用以下路線生成錯誤A public action method '109-building-xyz' was not found on controller 'MyInterfaceInterface.Controllers.DashboardsController'.
routes.MapRoute(
"Dashboard",
"dashboards/{id}-{name}", // URL pattern
new { controller = "Dashboards", action = "Index" },
new { id = @"\d+", name = UrlParameter.Optional }
);
很顯然,我希望這個被路由到索引功能帶參數。
我在做什麼錯?我是否正確地構造了這個?我來自web-PHP背景,並使用htaccess來實現這樣的事情。
謝謝
您是在默認路由之後還是在此之前添加此路由? – Chris
我認爲你只能使用正斜槓分開參數(但可能會誤解此)。如果短劃線被接受爲分隔符,那麼很可能您需要在ID後包含短劃線,以使路由起作用。另外,正如Chris所暗示的,路線排序很重要。我建議使用NuGet來安裝RouteDebugger包(並在Web.config中啓用它)。它可以讓你輕鬆找出任何給定URL匹配的路線。 –