我有以下代码:
var data = "LINQPad+Util.RawHtml";
Util.RawHtml( string.Format( "<a href=\"http://localhost/test?data={0}\">Test</a>", System.Uri.EscapeDataString( data ) ) ).Dump();
如果我只是点击“结果”窗格中呈现的“测试”链接,则浏览器中的网址为: 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?