0
我正在asp.net MVC3應用程序中創建一個自定義路由,我想創建一個路由約束來檢查url是否具有整數作爲參數的第二部分。如果是這樣,我需要重定向到不同的行動。mvc3應用程序中的自定義約束
產品/ 12
產品/ 1990年12月2日
我正在asp.net MVC3應用程序中創建一個自定義路由,我想創建一個路由約束來檢查url是否具有整數作爲參數的第二部分。如果是這樣,我需要重定向到不同的行動。mvc3應用程序中的自定義約束
產品/ 12
產品/ 1990年12月2日
這裏是我如何做到這一點。
''# MapRoute allows for a dynamic product ID
routes.MapRoute("Products", "product/{id}",
New With {.controller = "product",
.action = "index"},
New With {.id = "[0-9]+") ''# this forces the ID to only be a number.
然後,您將分別創建您的重定向邏輯。我會建議使用ActionFilter來做你的重定向工作。你只寫一次,它可以被全部實施。
我需要使用IRouterConstraint來完成它。我在做什麼是創建一個約束,檢查是否第二個路徑是數字,然後重定向到一個動作,否則返回到第二個動作方法 – DotnetSparrow 2011-04-14 18:20:16
爲什麼不捕獲一個路由,然後使用ActionFilter來決定重定向? – 2011-04-14 18:21:51
我怎樣才能在Rote中捕獲兩者? – DotnetSparrow 2011-04-14 18:28:16