Skip to main content
 首页 » 编程设计

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

2024年05月06日32傻小

我正在尝试做这样的事情,这样我就可以从 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 的示例.