1
我有一個通配符路線的問題,我不知道是否有人能幫助,我有一個路線如下路由*路徑通配符不會接受路徑時僅一個斜槓
routes.MapRoute(
"ReportRoute",
"Report/{*path}",
new { controller = "Home", action = "Index"})
.RouteHandler = new ReportPathRouteHandler();
其中routehandler拆分路徑到正確的部分得到正確的報告,這個工程很好,如果我把路線www.mysite.com/report/folder1/folder2/report然後我會得到我在找什麼,但我的問題是如果我有一個鏈接,如www.mysite.com/report/folder1/report,*路徑只有文件夾1 /報告和路由確實沒有'就像這樣,事實上它甚至不會打我的路由處理器,只是直接找到'資源無法找到'的服務器錯誤頁面。我試圖通過通配符之前增加一個新的路線如下來解決這個問題
routes.MapRoute(
"ReportRoute2",
"Report/{path}/{name}",
new { controller = "Home", action = "Index" });
其中控制器採用的路徑和名稱兩個字符串參數,但仍然沒有喜悅,有沒有人有任何想法或指針,以什麼能解決這個問題?謝謝你的幫助。
.routehandler是一個接受路徑並切入控制器動作的參數的類,也許我應該放棄這一點,只需將完整的*路徑傳遞給控制器,使用路由處理器看起來更整潔,但 – Israfel 2010-03-10 09:00:52
那麼會發生什麼當你嘗試沒有路由處理器的時候。它聽起來很有用(我會去檢查一下),但是當出現問題時我總是儘量保持簡單,然後慢慢地增加複雜性。 – Cymen 2010-03-10 16:21:52
被拖入另一個項目中,以便測試並稍後返回給您 – Israfel 2010-03-11 09:16:43