我有一个gridview,在gridview中,我有一个标签,当用户点击该标签时,我调用了一个javascript函数。我将该标签中的几个值传递给javascript函数。如果值中有apsotrphe。它会生成错误,并且不会调用javascript函数。以下是我的代码。
<asp:TemplateField>
<ItemTemplate>
<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("systempath") %>','','',1);"><%#Eval("ID") %></label>
</ItemTemplate>
</asp:TemplateField>
并且javascript函数是
function GetSelectedRow(id, systempath, x, x, rowIndex) {
debugger;
var label = document.getElementById('<%=lbl_ID.ClientID %>');
label.innerText = mclid + "|" + systempath;
document.getElementById('<%=hdnlblID.ClientID %>').value = id + "|" + systempath;
return false;
}
答案 0 :(得分:1)
试试这个
<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("systempath").ToString().Replace("'", @"\'"); %>','','',1);"><%#Eval("ID") %></label>
答案 1 :(得分:0)
由于您在ID周围使用单引号,因此您需要转义并撇号:
var label = document.getElementById('<%=lbl_ID.ClientID.Replace("'", "\'") %>');