2012-11-26 76 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("'", "\'") %>');