在eval中javascript转义双引号

时间:2014-07-15 16:16:42

标签: javascript asp.net eval

我在gridview中有一个链接按钮,如下所示

<asp:LinkButton ID="lbtnEdit" runat="server" OnClientClick='<%# String.Format("Edit(\"{0}\", \"{1}\");return false;",Eval("Comment").ToString(),Eval("Status")) %>' >Edit</asp:LinkButton>

除了评论中有双引号外,它工作正常。我尝试将其更改为Eval(&#34;评论&#34;)。ToString()。替换(/&#39; / g,&#34; \&#39;&#34;) 但得到的错误就像&#34;服务器标签格式不正确。&#34;

请提出任何建议

1 个答案:

答案 0 :(得分:0)

您尝试的Replace尝试使用Javascript。因为嵌入式引号已经到了html页面,Javascript不再将其视为整个字符串。使用.NET版Replace对数据服务器端进行编码:

VB示例:

Eval("Comment").ToString().Replace("""", "\""")

这将使用转义引号替换注释中的所有引号,这意味着它们不会意外关闭或启动新字符串。