逃脱&符号在ASP.NET中登录javascript

时间:2014-03-11 19:43:25

标签: c# javascript asp.net escaping

我有asp页面,它从代码隐藏文件中检索javascript代码。代码由companyName组成,有时候会有'&'标志。这个javascript代码在asp页面中链接的onclick事件期间使用。然而,只要有一个comapnyName与'&'签名,它会删除'&'之后的字符串值。标志。

Code Behind:
    <sc:Link runat="server" Field="EmployeeLink" Item='<%# Eval("Item") %>' onclick='<%# Eval("OnClickJs") %>'>

ASP file:
    OnClickJS =  "var d=d_gi('" + Sitecore.Context.Item["ID"] + "');d.tl(this,'d','Page " + "|" +companyName +");";
  

当companyName是&#39; John Doe&#39; =&GT;这个链接有John Doe&#39;在链接网址

     

当companyName是&#39; John&amp;李四&#39; =&GT;这个链接只有约翰&#39;在链接中   URL

我尝试使用&#39; \&#39;,&#39;&amp;&#39;来逃避&符号。 &#39;放大器;&#39;至今。

有什么建议吗? 感谢。

Sanjeev

1 个答案:

答案 0 :(得分:0)

使用HttpServerUtility.UrlEncode:

http://msdn.microsoft.com/es-es/library/zttxte6w(v=vs.110).aspx

OnClickJS =  HttpServerUtility.UrlEncode("var d=d_gi('" + Sitecore.Context.Item["ID"] + "');d.tl(this,'d','Page " + "|" +companyName +")");
相关问题