2012-03-15 90 views
1
routes.MapRoute(
       "top", // Route name 
       "{controller}/Casestudy/{action}" 
      ); 

任何人都知道爲什麼這個路由不能解析爲;這條路線爲什麼不能解決?

/拍賣/案例研究/ ABC/

控制器拍賣是存在的,在操作ABC是存在的,所述視圖是嗎?

+2

如果您有其他路線定義,請顯示您的其他路線定義。你也確定控制器類叫做'AuctionController',而不是'Auction'? – 2012-03-15 16:41:23

+0

它應該工作。正如Darin所說的確保控制器「AuctionController」的名稱。 「Home/Helloworld/Index」應該匹配「{controller}/Helloworld/{action}」 – Manas 2012-03-15 16:54:01

+0

「不解決」是什麼意思?它是否在動作鏈接中解析,在瀏覽器位置欄中輸入URL時不解決? – saintedlama 2012-03-15 16:59:21

回答

1

我的猜測是,你把你的"top"路線"Default"路線(前提是你沒有該呼叫改變MapRoute())。

你需要確保你違約前的路線,否則你"Default"路線一定會滿足您的測試網址,並提供一個404

routes.MapRoute(
       "top", // Route name 
       "{controller}/Casestudy/{action}" 
      ); 

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
); 

如果這些被切換了,你的"Default"路線來到你的"top"路線出現首先,你會有你的路線匹配"Default"路線與controller = "Auction", action = "Casestudy", id = "ABC"。這顯然不是這個意圖。

相關問題