2009-09-30 88 views
4

是否有可能在Asp.net MVC的RouteCollection中定義一個路由,以便它只是執行「URL重寫」部分並忽略使用Html.Actionlink生成URL(... )?ASP.NET MVC的單程路線

事實上,我想在控制器和動作(控制器/ ..關鍵字... /動作)之間添加一個關鍵字,用於某些非常特殊的請求。但是,頁面上生成的URL應保持使用默認路由。 (控制器/動作)

回答

4

是的,你可以做你在問什麼。您只需創建自己的路線,並從當前路線繼承,並覆蓋GetVirtualPath以始終返回空值。這種方式不會執行操作查找,但URL仍然可以作爲您的操作/控制器的路由映射。

此外,發生的並不是URL重寫,因爲您使用路徑來定義端點到您的應用程序中。換句話說,一個API。所以沒有重寫正在發生。把路由和你的動作/控制器之間的關係看作是更多的Web公共定義的命名空間。就像命名空間一樣,您可以在應用程序中定義可找到您的操作/控制器的特定位置。

+0

太好了,這解決了我的問題 – 2009-12-22 13:43:57