LINQPad、Util.RawHtml 和结果窗格似乎改变了 HREF 和 Uri.EscapeDataString 的行为
我有以下代码:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论