2016-12-30 55 views
0

所以在我的RouteConfig我有一個看起來像這樣的路線:.NET HTML.RouteLink傳遞參數作爲鍵值對不能擊潰

 routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{GUID}", 
      defaults: new { controller = "Home", action = "Index", GUID = UrlParameter.Optional } 
     ); 

而且我提出這樣一個環節:

@Html.RouteLink("Thing", new { controller = "Modules", action = "View", GUID = "27ACBB7C-075A-49BD-9B43-000EAE3E6B6F" }) 

我想它來創建以下鏈接:

<a href = ".../Modules/View/27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a> 

但不是我越來越:

<a href = ".../Modules/View?GUID=27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a> 

如何讓RouteLink將參數設置爲路徑而不是鍵值對?

(這似乎很明顯我確定有人會告訴我這是一個重複的問題,但我已經用我知道的每個關鍵字搜索了這個問題,所以我很樂意從現有問題中獲得答案如果它已經存在)。

回答

0

這通常發生在控制器內部的方法有錯誤的參數名稱時。

Modules控制器內部,View方法應該被定義爲:

View(Guid GUID)