2011-09-17 86 views
1

我定義在我看來,一個鏈接:路線不正確分段

@Html.ActionLink("Baxter", "Label", new { LabelName = "Baxter" }) 

我定義的路由趕上這樣的鏈接:

 routes.MapRoute(
     "Search Affaire Only Label", // Route name 
     "{controller}/Label/{LabelName}", // URL with parameters 
     new { controller = "Affaire", action = "SearchAffaires", LabelName = UrlParameter.Optional } // Parameter defaults 
     ); 

鏈接的作品,但該網址無法正確分割在地址欄中,你可以看到如下:

http://localhost:3817/Affaire/Label?LabelName=Baxter 

我以爲網址會像這樣被格式化:

http://localhost:3817/Affaire/Label/Baxter 

怎麼了?任何想法?

謝謝。

回答

1

在您的主播中,您傳遞Label作爲動作名稱(ActionLink助手的第二個參數),而在您的路由定義中,您已定義SearchAffaires動作。

@Html.ActionLink("Baxter", "SearchAffaires", new { LabelName = "Baxter" }) 

或者更明確地給控制器名稱以及避免任何含糊:

@Html.ActionLink("Baxter", "SearchAffaires", "Affaire", new { LabelName = "Baxter" }, null) 

或修改路由定義上使用Label動作所以無論是還包括控制器解決您的錨Affaire控制器。