2011-02-15 85 views
3

我有一個贏在窗體應用程序中的web瀏覽器,我在打開URL時遇到問題。WebBrowser保留url/uri編碼不解碼

我通過在一個新的URL實例的URL進行編碼:

/爲%2F,?爲%3F和 =爲%3D

但是,當我調試我的代碼可以看出,絕對URL或任何在webbrowser.url.*其他的人被解碼爲/=

如何保持編碼URL?如果不是這樣編碼URL將無法​​正常工作。

回答

1

我找到了解決我的問題,當你有一個URL看起來是這樣的:

domain.com/action/doaction/?identity=12354698789

而你要它可以像這樣編碼:

domain.com/logon?returnurl=action%2fdoaction%2f%3fidentity%3d12354698789

這不適用於您的網絡瀏覽器。它解碼到第一個網址。

我需要的iddoaction控制器,所以我用這個代碼:

string orgId = ControllerContext.RouteData.Values["id"].ToString(); 

它返回一個URL,如果不確定,調試和跟蹤過,你會找到正確的鍵和值。

0

爲什麼這是一個問題?

如果您需要未解碼的URL,請使用HttpRequest.RawUrl Property。查詢字符串默認情況下會自動解碼,並且沒有公開參數可以關閉它。

+0

好吧,事情是我想要它編碼,因爲它必須調用編碼路徑的URL找到了我的問題的解決方案壽,將很快發佈 – 2011-02-15 10:17:14