在我正在處理的Web應用程序中,我們希望能夠顯示給定路徑上的資源信息。路徑完全是虛擬的—它只存在於應用程序—中,所以我們並沒有真正遇到用戶設置虛擬路徑的問題,這些虛擬路徑在正常文件系統標準下是「怪異的」。使用Url.RouteUrl重定向到帶有#,%等的URL
問題:我們有讀取類似
/Files/{*path}
東西路線,我們試圖用
Url.RouteUrl("File", new { path = somePath })
重定向這通常工作,但如果somePath包含&或#失敗,中其他。在這些情況下,我很勉強。我不能UrlEncode(somePath)
在這一點上,因爲RouteUrl做自己的URL編碼,但我不能讓它們保持原樣,因爲否則它們被不當處理(octothorp不傳遞給路由數據,並且&符號混淆了IIS)。有沒有一個合理的方法呢?或者我基本上只需要通過字符串插值實現我自己的路線?
我有一個預感,你遵循http://dirk.net/2008/06/09/ampersand-the-request-url-in-iis7/或類似的指示在過去的某個時刻,關於IIS7,但我找不到IIS6的類似修復程序。 – 2009-10-15 16:54:13