我試圖在剃刀視圖中構建URL,它將2個RouteData.Values傳遞給我的操作。MVC 3 - 具有4個參數的RouteUrl
這是代碼:
<input type="button" value="View" onclick="location.href='@Url.RouteUrl("ViewMessage", new { threadId = 955, messageId = 11 })'" />
在Global.asax中我定義了以下:
routes.MapRoute(
"ViewMessage", // Route name
"{controller}/{action}/{threadId}/{messageId}", // URL with parameters
new { controller = "Board", action = "Messages", threadId = UrlParameter.Optional, messageId = UrlParameter.Optional } // Parameter defaults
);
爲什麼我的網址是這樣的:
http://localhost/Site/Board/Messages/955?messageId=11
,而不是像這樣:
http://localhost/Site/Board/Messages/955/11
我明白,我可以使用的String.format,而是尋找MVC幫手解決
好吧,threadId也是可選的,但它仍然包含在路由數據中 – eddyuk
從'threadId'中刪除可選的幫助嗎?我可以解釋我的意見,但如果不對,那就沒有意義了。 –