1
我正在閱讀Appress的Pro ASP.NET MVC 3.0。第11章是關於URLs路由系統。 在從離開段傳遞額外的變量來自URL 越來越段值例如用於吼叫路由解釋說:在asp.net中的傳出路由mvc
routes.MapRoute("MyRoute", "{controller}/{action}/{color}/{page}");
如果用戶是目前在URL /目錄/目錄/紫色/ 123,和我們渲染作爲 鏈接如下:
@Html.ActionLink("Click me", "List", "Catalog", new {page=789}, null)
路由系統將對陣的路線,它會生成以下 HTML:
<a href="/Catalog/List/Purple/789">Click me</a>
但是當我使用此代碼下面的例子就產生:
<a href="/Catalog/List/Purple/">Click me</a>
我不明白爲什麼?
其實我ASP.NET MVC互聯網樣品中使用這個例子有了一些變化(首頁和索引,而不是目錄和清單),它產生奇怪的網址,例如在主頁,關於url是Home/Index/purple我也只有一個路由和Html.Actionlinks爲「關於」不提供顏色varialbe @ Html.ActionLink(「Home」,「Index」, 「Home」,新{color = purple,page = 10},null) ----- @ Html.ActionLink(「關於」,「關於」,「家」,新{page = 789},null)我預計它會在主頁中爲「About」項目顯示「Home/About/Purple/10」而不是「Home/Index/Purple」 – 2012-04-18 21:58:17
您是否嘗試過Route Debugger?您將能夠確切地看到哪些網址正在通過哪條路線來區分您的問題,請嘗試:http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx – mattytommo 2012-04-19 09:13:13
這很棒。我會測試它 – 2012-04-19 13:05:44