0

我有一个gridview,在gridview 内部,我有一个标签,当用户单击该标签时,我调用了一个javascript 函数。我将该标签中的几个值传递给 javascript 函数。如果这些值中有别名。它会产生错误并且不会调用 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; 

}
4

2 回答 2

1

试试这个

<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("systempath").ToString().Replace("'", @"\'"); %>','','',1);"><%#Eval("ID") %></label>
于 2012-11-26T22:52:00.243 回答
0

由于您在 ID 周围使用单引号,因此您需要转义和撇号:

var label = document.getElementById('<%=lbl_ID.ClientID.Replace("'", "\'") %>'); 
于 2012-11-26T22:52:57.083 回答