2010-09-20 23 views
3

我面臨一個問題,即我的某個字段需要顯示在包含特殊字符(/,\,:)的url中。擴展Url路由,爲每個參數應用Url編碼

通過使用UrlEncode(),處理此問題的愚蠢方式將生成操作鏈接。然後在使用控制器之前使用UrlDecode。但我認爲它很愚蠢,因爲太多的地方需要適應。

所以,我的問題是有什麼辦法來擴展URL路線或只是寫我自己的一個來實現它?

謝謝, 邁克

回答

0

您可以擴展System.Web.Routing.Route對象來創建自定義路由和重寫GetRouteDataGetVirtualPath方法。這些被調用來解析一個路由的值,並分別從給定的路由值創建一個URL。但是,我不認爲URL可以在URL的路徑部分中包含/(%2f)的URL編碼值,儘管在查詢字符串中可以。

+0

路由的構造函數需要一個IRoutHandler,你如何提供這個? – Lordbalmon 2015-05-28 15:24:03