我有以下字符串:
string text = @"<a href=""http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + @"&P0=1&P1=eq&P2=Project.""Project Name"" target=""_blank"">" + reportName + "</a><br/><br/>";
当此字符串写入我的页面时,它看起来像这样:
<a href="http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=/shared/Real Estate Reporting_portal/REGIS: Financial Reporting UAT/&Page=DR - 3: Debt Payment History&P0=1&P1=eq&P2=Project\."Project Name" target="_blank">DR - 3: Debt Payment History</a>
有人可以帮助解释为什么期间ID被转义?我正在摸索如何正确地逃避这一点。
感谢。
答案 0 :(得分:1)
我不确定你的输出应该是什么样子但是 String.Format和escaping是您的朋友。
string text = String.Format("<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath={0}&Page={1}&P0=1&P1=eq&P2=Project.\"Project Name\"'' target='_blank'>{1}</a><br/><br/>",dashboardURL,reportName);
答案 1 :(得分:1)
如果您打算在网址中使用引号,请使用单引号作为标记属性。
string text = "<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + "&P0=1&P1=eq&P2=Project.\"Project Name\"' target='_blank'>" + reportName + "</a><br/><br/>";
或者更好的是,url-escape引用(%22
):
string text = "<a href='http://raustdsx0700.real.local:7782/analytics/saw.dll?PortalPages&PortalPath=" + dashboardURL + "&Page=" + reportName + "&P0=1&P1=eq&P2=Project.%22Project Name%22' target='_blank'>" + reportName + "</a><br/><br/>";
答案 2 :(得分:1)
你需要 urlencode 你的字符串,请查看:http://msdn.microsoft.com/en-us/library/zttxte6w.aspx