1

所以我有這條路線映射:爲什麼不將此路線設置爲默認操作?

​​

當我去」

/en-GB/Solutions/SolutionA/Index/ 

它的路線就好了,但

/en-GB/Solutions/SolutionA/ 

沒有路線是否在所有然而,。如果我拿出lang參數,那麼路線看起來像

routes.MapRoute(
    "Solutions", 
    "Solutions/{controller}/{action}", 
    new { controller = "WhatWeDo", action = "Index"} 
    ); 

,我去

/Solutions/SolutionA/ 

它的路線就好了。有任何想法嗎?我想不必爲此路線始終指定默認操作。謝謝。

回答

2

爲了什麼你定義在Global.asax中的路線,這可能有一些與問題,但我最初的猜測是,它匹配這樣

controller: en-GB 
action: Solutions 
id : SolutionA 

你也許能有什麼默認路由do是在你的路由上設置某種正則表達式匹配,以便將你的語言從「默認」路由中排除?試試這個鏈接瞭解更多關於使用正則表達式進行路由過濾的信息http://www.iridescence.no/post/Defining-Routes-using-Regular-Expressions-in-ASPNET-MVC.aspx

+0

謝謝,這是路由的順序,認爲正則表達式看起來非常酷,我可能會切換到最終實現更好的本地化。 – Ryan 2012-01-10 22:40:38

+0

很高興能幫到你!祝你的項目好運。 – 2012-01-11 13:36:53

相關問題