2011-06-07 95 views
1

ASP.NET MVC3 /剃刀ActionLink不會生成正確的URL

我有問題讓HtmlActionLink選擇正確的路線(下面第二個)。

這裏是我的路線:

routes.MapRoute("LoginPage", "login", new { controller = "login", action = "index" }); 

routes.MapRoute("HomePage", "pages/{client}/{matter}", new { controller = "home", action = "index", client = UrlParameter.Optional, matter = UrlParameter.Optional }); 

routes.MapRoute("Default", "{controller}/{action}", new { controller = "default", action = "index" }); 

這裏是操作鏈接:

Html.ActionLink("user name", "index", "home", new RouteValueDictionary(new { client="abcdef" }), null) 

我結束了這一點:

http://domain/home?client="abcdef" 

任何人都知道白衣它不匹配第二條路線?或者調試它的方法

+0

恕我直言:使用'RouteLink'而不是'ActionLink'。速度更快,並且不可能選擇「錯誤」的路線。 – 2011-06-07 19:46:55

回答

0

奇怪的是,你粘貼的東西適合我:),這意味着我有第二條路線選擇和適當的鏈接。你有其他路線,還是隻有那三條?當我刪除了內容= UrlParameter.Optional時(當然,在您嘗試時您正在重新編譯項目;-)。

+0

問題是該問題是可選的,所以如果我發送null它將無法正常工作。 – Chad 2011-06-08 13:06:39