2012-11-26 40 views
0

我有一个gridview,并且在gridview中有一个标签,当用户单击该标签时,我调用一个javascript函数。我将该标签中的一些值传递给了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; 

} 

回答

1

试试这个

<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("systempath").ToString().Replace("'", @"\'"); %>','','',1);"><%#Eval("ID") %></label> 
0

既然你周围使用ID单引号,你需要逃跑,撇号:

var label = document.getElementById('<%=lbl_ID.ClientID.Replace("'", "\'") %>');