2012-02-07 36 views
1

是否可以在MVC中定義一個基於部分路由動態解析動作的路由?MVC中的動態行爲

例如:

`/products/create/widget` 

將解析爲ProductsController.CreateWidget(窗口小部件);

我希望路由是動態的:

routes.MapRoute(
    "Create", 
    "/products/create/{productType}", 
    new { controller = "Products", action = "Create{productType}" } 
); 

我需要有采取不同的模型類型的多個創建行動,但我不希望我每次添加一次添加一條新的路徑。如果沒有將該名稱附加到該操作,我會得到一個模糊的方法錯誤。是否有可能做到這一點?

回答

1

我想你可能需要創建自己的自定義路由對象,從RouteBase派生,你可以根據Url的特定部分分配操作。看看這個example

+0

謝謝。希望有一個更簡單的解決方案。我想我會每次只添加路線。添加新類型不會很頻繁。 – Dismissile 2012-02-07 15:29:07

+0

那絕對不是一個普通的場景,所以.. – 2012-02-07 19:05:00