2009-09-18 112 views
2

我的第一個航線的航班:MVC抓住所有的工作不

// Should work for /Admin, /Admin/Index, /Admin/listArticles 
    routes.MapRoute(
     "Admin",            // Route name 
     "Admin/{action}",       // URL with parameters 
     new { controller = "Admin", action = "Index" } // Parameter defaults 
); 

不解決途徑(我用Phil Haack's Route Debugger),甚至最後的路線,「抓住所有的」路線不工作:

//Maps any completely invalid routes to ErrorController.NotFound 
    routes.MapRoute("Catch All", "{*path}", 
     new { controller = "Error", action = "NotFound" } 
); 

如果我去/Admin/listArticles它的工作原理,但/Admin給我Error 403.15 "The Web server is configured to not list the contents of this directory."指向我的想法,沒有路由使用,因爲它會在目錄中的物理文件?

這是一個簡單的低層次的路線問題,但我不能讓它工作,大家給我鏈接,閱讀(是的,我知道MSDN就在那裏),但沒有真正的答案。我已經研究過路線並嘗試過,但是我發佈了這條路線,因爲我無法得到它的工作,任何幫助,答案?

+0

的可能的複製[淨MVC路由全部接收不工作(http://stackoverflow.com/questions/318886/net-mvc-routing-catchall-not-working) – jgauffin 2016-05-17 05:49:20

回答

1

的問題可能是你所添加的默認路由下面這條線路,所有的定製路由應該默認路由上面添加。

謝謝,
Mahesh Velaga。

0

你使用IIS 6.0嗎?如果是這樣,它會需要像...

// Should work for /Admin, /Admin/Index, /Admin/listArticles 
    routes.MapRoute(
     "Admin",            // Route name 
     "Admin.mvc/{action}",       // URL with parameters 
     new { controller = "Admin", action = "Index" } // Parameter defaults 
); 

,你需要set mvc as an application extension

1

的回答我的問題是,我有一個名爲/管理路線,我寫我的錯誤日誌到目錄/管理/錯誤似乎沒有超載,如果指定的路線應該得到解決,或者如果它是一個物理目錄的一部分。