我正在尝试做这样的事情,这样我就可以从 c# webbrowser 的 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.Uri
的ToString
方法被覆盖并返回规范表示。检查刚刚显示此 in the documentation 的示例.
关于c# 在 webbrowser.url 上使用 .ToString() 方法会自动转换 %26 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35468949/