我似乎無法弄清楚這一點。我正在嘗試使用MVC Beta,並試圖實現一個catchall路由,以便如果用戶輸入mysite.com/blah而不是mysite.com/home/index,它將會出現「錯誤」路由。.Net MVC路由Catchall不工作
不幸的是,似乎「默認」路線總是首先捕獲「等等」。事實上,我已經能夠到達「錯誤」路線的唯一路線是blah/blah/blah/blah。
這是它應該工作的方式,因爲我已經看到其他的例子有這樣設置的「默認」和「錯誤」路由,似乎如果他們鍵入一個控制器不會不存在它會觸及「錯誤」路線。
有什麼我失蹤(很可能),或者我只需要爲每個控制器創建一個特定的路線?我使用
代碼:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"Error",
"{*catchall}",
new { controller = "Base", action = "Error", id = "404" }
);
謝謝 傑夫
謝謝,這是我所瞭解的理解,但只是不想接受根據我所看到的和我所期望的。但我會學會處理它。 – 2008-11-25 23:07:05