LINQPad、Util.RawHtml 和结果窗格似乎改变了 HREF 和 Uri.EscapeDataString 的行为

发布于 2024-12-27 12:07:35 字数 852 浏览 0 评论 0原文

我有以下代码:

var data = "LINQPad+Util.RawHtml";
Util.RawHtml( string.Format( "<a href=\"http://localhost/test?data={0}\">Test</a>", System.Uri.EscapeDataString( data ) ) ).Dump();

如果我只是单击“结果”窗格中呈现的“测试”链接,则浏览器中的 URL 为: http://localhost/test?data=LINQPad+Util.RawHtml

如果我右键单击链接并说“在新窗口中打开”,浏览器中的网址为: http://localhost/test?data=LINQPad%2BUtil.RawHtml

第二种方法是正确的(我认为 - 因为我的 ASP MVC 应用程序中生成的 url 工作正常)。如果我查看“结果”窗格的源代码,将文件保存在本地并使用浏览器打开,然后简单地单击链接,它会再次显示: http://localhost/test?data=LINQPad%2BUtil.RawHtml

那么有什么吗它所处理的结果窗格有问题(或者更确切地说,在打开新浏览器之前 URL 解码 HREF?

I have the following code:

var data = "LINQPad+Util.RawHtml";
Util.RawHtml( string.Format( "<a href=\"http://localhost/test?data={0}\">Test</a>", System.Uri.EscapeDataString( data ) ) ).Dump();

If I just click the 'Test' link rendered in the Results pane, the url in the browser is:
http://localhost/test?data=LINQPad+Util.RawHtml

If I right click the link and say 'Open in New Window' the url in the browser is:
http://localhost/test?data=LINQPad%2BUtil.RawHtml

The second method is the correct one (I think - as the resulting url in my ASP MVC application works correctly). If I view source of the Results pane, save the file locally and open with a browser and then simple click the link, it again shows:
http://localhost/test?data=LINQPad%2BUtil.RawHtml

So is there something wrong with the Results pane that it massages (or rather URL decodes HREFs before it opens a new browser?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文