2015-04-03 92 views

回答

1

URL Rewriting是「僞造」一個URL的做法,將其重寫爲,看起來像是另一個URL。它在一個方向上這樣做。這意味着它沒有內置的方式來生成在UI上使用的URL。

.NET Routing是MVC應用程序通常使用的內容。它是一個實數,而不是僞造的從URL到URL的一組路由值和/或一組路由值的雙向映射。這意味着您可以使用HTML幫助程序(例如ActionLink)輕鬆地在生成網址以供在應用程序內使用,因此這是從應用程序內部構建自定義網址的推薦和首選方法。

有時候會使用這兩種技術,但是URL重寫通常只用於執行從已編譯應用程序之外進行更改的事情,比如將應用程序嵌套到另一個應用程序中,方式301重定向傳統網址。

要回答你的問題,是的,它可以完成,但應該與.NET路由,而不是URL重寫。要使用這樣的名稱,您需要名稱和ID之間的映射。有幾種方法可以完成:

  1. 通過使用包含相關ID的名稱和路由值的靜態路由段,在路由配置中進行名稱-ID映射。只有當您的URL不需要在應用程序中動態更改時,此方法纔有效。
  2. 在緩存的字典對象內使用名稱標識映射。通過覆蓋GetRouteDataGetVirtualPath方法,使用custom RouteBase實現來執行每個方向的映射。