0
我很困惑,我沒有正確地標題這個問題。 這是我的問題。以下是我的申請中的路線。如何通過mvc中的路由匹配正確的操作方法?
//"list/author" => list by author
routes.MapRoute("ListByAuthor",
"list/{author}",
new { controller = "MyCtrl", action = "MyAction" });
//"list/tag" => list by tag
routes.MapRoute("ListBytag",
"list/{tag}",
new { controller = "MyCtrl", action = "MyACtion" });
//default
routes.MapRoute("Default",
"{controller}/{action}/{id}",
new { controller = "MyCtrl", action = "MyAction", id = UrlParameter.Optional });
我通過提供RouteName即ListByAuthor,ListByTag和默認產生關於視圖的鏈接。我有兩個問題: -
- 將入站網址匹配到相應的操作方法不會發生。 每個請求都由第一條路線
ListByAuthor
處理。 例如,當我點擊標籤時,地址欄顯示正確的網址格式,例如domain/list/tag
,但通過調試,我發現tag
值分配給author
參數。 雖然點擊其他鏈接的環境值不斷掛在URL。因此其他鏈接剎車並開始咬我。例如,當我點擊作者鏈接時,標籤鏈接變成
domain/list/tag?author
。網站上的解決方案之一建議在路由值中傳遞String.Empty
,但它不起作用。但是,如果我改變了路線如下//"list/author" => list by author routes.MapRoute("ListByAuthor", "list/{author}", new { controller = "MyCtrl", action = "MyAction", tag = "" }); //providing empty value to tag parameter in route
它的工作原理然而,在路線明確提供默認值是大量的工作。 Plz建議我回答一些問題。我正在努力與路線。支持我贏得這場戰爭;)。在此先感謝
我想過這個,但沒有提出任何合適的url格式... – Vivek 2014-10-07 03:19:28