c# 在 webbrowser.url 上使用 .ToString() 方法会自动转换 %26 符号?

c# using .ToString() Method on webbrowser.url converts %26 ampersand automatically?

我正在尝试做这样的事情,这样我就可以从 c# 网络浏览器的 URL 中获取信息,稍后我使用 & 作为端点分解解码的 url部分:

string theURL = System.Uri.UnescapeDataString(webBrowser1.Url.ToString().Replace("%26","and")).Replace('+',' ');

我的问题是,当我在 webBrowser1.Url 上调用 .ToString() 时,它似乎自动将 %26 转换为并有效地破坏了我的 URL。我需要保留 %26 直到我可以自己处理它并用其他东西替换它。

--

我也尝试过这样的替代方法,但由于某种原因 param1 总是返回空白,我永远无法从中得到任何东西:

string queryString = webBrowser1.Url.Query;
var q = System.Web.HttpUtility.ParseQueryString(queryString);
var param1 = q["paramname"];

这也给了我空白:

foreach (var element in q) 
{
    MessageBox.Show(element.ToString());
}

尝试webBrowser1.Url.OriginalString。那应该保留原来的 URL.

System.UriToString 方法被覆盖,returns 规范表示。检查刚刚显示此 in the documentation.

的示例