2009-09-27 80 views
0

我有這兩條路由當前在我的應用程序之後,分解出許多其他的。首先讓我解釋一下,我已經有了一個相當大的應用程序,但遇到了一個問題,即我的應用程序不再從根網址開始。ASP.NET MVC中的奇怪的路由問題 - 默認路由未被擊中

如果我將起始頁設置爲default.aspx,那麼webapp將從(示例)http://localhost:55421/Default.aspx開始。我不想那樣。我希望它沒有Default.aspx

因此,我進入應用程序屬性,並刪除Default.aspx作爲起始頁 - 現在它是空白字段(就像在示例新的MVC應用程序,如果你在VS 2008中創建它)。

但現在應用程序確實從所需的URL開始,但發出錯誤: 「傳入的請求與任何路由都不匹配。」

此外,如果我使用路由調試器,它也錯過了所有的路由,並通過catchall路由捕獲它。

我不知道怎麼這一切都是可能的,因爲正如我上面說我在這個時候配置兩個缺省路由:

routes.IgnoreRoute(「{}資源個.axd/{*} PATHINFO 「); routes.MapRoute( 「Default」, 「{controller}/{action}/{id}」,//帶參數的網址 新{controller =「Pages」,action =「Display」,slug =「Default」 } );

任何幫助表示讚賞

回答

1

我是正確的思維你想打

http://server/{controller}/{action}/{id} 

http://server/ 

如果你是我認爲你需要,以提供一個默認最後一個參數{id}。你有一個參數slug的默認值,但{id}沒有默認值,我不認爲ASP.NET路由可以達到它。

如果我是正確的

http://server/Pages/Display 

應該也不會打的默認路由,因爲你是在顯示希望ID?

HTH Alex