一個組成名爲控制器我需要映射這樣的網址:如何自定義路由動態URL映射到ASP.NET MVC3
/股票/風險 - >StockRiskController.Index()
/股票/風險/ ATTR - >StockRiskController.Attr()
/srock /風險/圖 - >StockRiskController.Chart()
...
/債券/性能 - >BondPerformanceController.Index()
/鍵/性能/ ATTR - >BondPerformanceController.Attr()
/鍵/性能/圖表 - >BondPerformanceController.Chart()
...
第一部分是動態的,但可枚舉的,所述第二部分具有唯一的兩種選擇(風險)。
現在我知道只有兩種方式:
- 訂做的ControllerFactory(似乎overkilled或複雜)
- 硬編碼的所有組合,因爲它們是枚舉(醜陋的)。
我可以用routes.MapRoute
來實現嗎?或者任何其他方便的方式?
據我所知,你的最後一部分是你的行動,所以我認爲你可以使用這樣的東西。 {controller}/*/{action}在地圖路由中。那麼,我知道這是行不通的,但這是一個開始。 –
@OnurTOPAL,你說得對。但是,因爲我們已經有了一個可操作的版本,其中包含像「BondPerformance/Index | Attr | ...」這樣的醜陋網址,我們只是想在不影響任何邏輯的情況下更改網址。所以我認爲我應該對路由做些什麼。 –
我認爲,如果您希望避免爲每個「債券/股票/風險」業績組合編制路線,選項#1是您唯一的選擇。 –