2008-10-30 29 views
17
<a id="lblShowTimings" 
    runat="server" 
    title='<%# Eval("SHOW_Name") %>' 
    onclick='PopulateTicketDiv(<%#Eval("SHOW_ID") %>)'> <-- this is the problem 
    %#Eval("SHOW_Time") %> 
</a> 

È possibile passare Eval come argomento a una funzione javascript? Se sì, qual è la sintassi?Passare Eval da ASPX a funzione Javascript come parametro

risposta

37

Sì. Che cosa si vuole fare è questo, però:

onclick='<%# "PopulateTicketDiv(" +Eval("SHOW_ID") + ");" %>' 
+0

risposta Infine corretta, grazie! –

3

Prova

<script type="javascript"> 
    //Pollute the global namespace 
    var ticketDivID = <%= SHOW_ID %> 
</script> 

<a id="lblShowTimings" runat="server" title='<%# Eval("SHOW_Name") %>' onclick='PopulateTicketDiv(ticketDivID)'> <%#Eval("SHOW_Time") %></a> 

Su un lato nota perché hai runat = "server" è possibile impostare l'onclick dal backend in OnRowDataBound se questo è in una griglia/ripetitore o su page_load se non lo è.

18

La soluzione di cui sopra crea problema quando si vuole passare la stringa come parametro, è possibile utilizzare seguente sintassi per ottenere attraverso:

OnClientClick='<%# String.Format("javascript:return displayDeleteWarning(\"{0}\")", Eval("ItemName").ToString()) %>' 

Sopra linea dovrebbe funzionare indipendentemente dal tipo di dati dei parametri

+0

buon uno rohan. grazie ... – naveen

+0

'OnClientClick = '<% # String.Format (" javascript: return displayDeleteWarning (\ "{0} \") ", Eval (" ItemName "). ToString())%>" "del post di Rohan è utile in una situazione in cui si desidera passare il valore "Eval" alla funzione javascript come parametro. Puoi anche passare i valori "Eval" di multilple come parametro. –

+0

Sì, eccellente, grazie! –

0

Pls controllare questo codice

onclick = '<% # Eval ("documentPath", "Chk (\" {0} \ ")")%>'

2

È possibile utilizzare questa sintassi all'interno di una griglia, ripetitore o ecc.

<asp:ImageButton 
ID="Imagebutton1" runat="server" 
ImageUrl="../../common/images/pencil.gif"     
OnClientClick='<%# String.Format("EditBankAccount(\"{0}\");", Eval("BankAccountID")) %>' 
OnClick="ImgBankAccountsDGEdit_Click"/> 

La funzione JavaScript sarebbe:

function EditBankAccount(bankaccountid) { 
     // Your code goes here 
     // return true OR false based on your requirement 
    } 
Problemi correlati