約束我有一個下單在Linux上運行的應用程序MVC3。 我有這樣的路線:.NET單MVC3路線可選parametr
routes.MapRoute(
"search",
@"search/{term}",
new {
controller = MVC.Mobile.Name,
action = MVC.Mobile.Actions.ActionNames.Search,
term = UrlParameter.Optional
},
new {
term = @"^[0-9]*$"
}
);
其工作正常在窗口兩者當我顯示術語參數(例如/搜索/ 123)或內部消除(例如/搜索)。現在,在我將它部署到Linux上後,問題就出現了:它爲無路徑(例如/ search)的路由返回404,並且與term(例如/ search/123)一起正常工作。
我結束了分裂這條路線分爲兩個:
routes.MapRoute(
"search-empty",
@"search",
new {
controller = MVC.Mobile.Name,
action = MVC.Mobile.Actions.ActionNames.Search
}
);
routes.MapRoute(
"search",
@"search/{term}",
new {
controller = MVC.Mobile.Name,
action = MVC.Mobile.Actions.ActionNames.Search
},
new {
term = @"^[0-9]*$"
}
);
我也試圖與REG EXP發揮和定義的默認值,而不是可選的參數項沒有任何成功。 是否有人知道它爲什麼在Windows上工作,而不是在Linux上?