2

我有一個很奇怪的路由問題。ASP.NET MVC 3區域路由問題

我有一個ASP.NET MVC 3網站使用區域。 我在資產方面:以下路線設置:

public override void RegisterArea(AreaRegistrationContext context) 
{ 
    context.MapRoute(
     null, 
     "Assets/{controller}/{action}/{code}", 
     null, 
     new { code = @"(\w{2,3}$)" } 
    ); 

    context.MapRoute(
     "Assets_default", 
     "Assets/{controller}/{action}/{id}", 
     new { action = "Index", id = UrlParameter.Optional } 
    ); 
} 

當我請求如下的URL它完美

http://site.com/Assets/Gallery/GetByCode/AEP 
http://site.com/Assets/Gallery/GetByCode/MEC 
http://site.com/Assets/Gallery/GetByCode/GP 
http://site.com/Assets/Gallery/GetByCode/BR2 
http://site.com/Assets/Gallery/GetByCode/ZZZ 
http://site.com/Assets/Gallery/GetByCode/123 

但是,當我要求這個網址我得到一個「404 - 資源可以」 t被發現「錯誤

http://site.com/Assets/Gallery/GetByCode/PRN 
http://site.com/Assets/Gallery/GetByCode/prn 

我試過的每一個其他的網址 - 它似乎只是PRN有問題。

我已經在GalleriesController> GetByCode動作的開始放置了一個斷點,並且PRN路徑甚至不嘗試輸入動作(如404錯誤所示)。

有沒有人有任何想法爲什麼PRN不在路線中工作?還有什麼我可以嘗試去調查?

感謝您的幫助 Saan

+0

做你的'Index'行動受到打擊呢? – simonlchilds

+0

否 - 索引不會受到影響 – Saan

+0

您是否嘗試去除路由上的正則表達式約束?你有沒有試過把參數放在默認路由中的順序? – simonlchilds

回答