2014-04-24 6 views
-1

J'ai un contrôle de répéteur dans ma page aspx et dans cette page j'ai placé la case à cocher. Lorsqu'un utilisateur coche cette case, je souhaite rediriger vers une page. Je l'ai écrit un javaScript aussi pour effectuer cette action comme suit:Comment passer un paramètre au javascript dynamiquement

js:

function update(eid) { 
     window.location("Events.aspx?eid="+eid); 
    } 

suivant la méthode dans le code derrière:

protected void rptEventReminder_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     CheckBox cbx = e.Item.FindControl("chkComplete") as CheckBox; 
     Label lbl = e.Item.FindControl("lblEid") as Label; 

     if (cbx != null && lbl !=null) 
     { 
      Int64 eid = Convert.ToInt64(lbl.Text); 
      cbx.Attributes.Add("onclick", "update(eid);"); 
     } 
    } 

que eid qui je passe comme paramètre est l'unique dans la base de données.

javaScript erreur que je reçois est:

JavaScript runtime error: 'eid' is undefined

+0

essayez ceci: cbx.Attributes.Add ("onclick", "update ('" + eid + "');"); –

Répondre

3

Actuellement, vous passez eid sous forme de texte codé en dur pour onclick gestionnaire, qu'il traite comme variable JavaScript ainsi que vous obtenez une erreur

JavaScript runtime error: 'eid' is undefined

maintenant, en C# Code eid est une variable que vous devez donc passer comme

cbx.Attributes.Add("onclick", "update(" + eid +");"); 
+0

Bonjour @Satpal merci mec ... merci pour votre réponse –

0

J'ai trouvé une solution à ma question. J'ai fait de petits changements dans le code derrière lequel j'appelle un javaScript comme suit:

maintenant son fonctionnement bien.

+0

Il vous manque '+' après 'eid' – Satpal

+0

merci @Satpal, j'ai corrigé mon erreur ... –

Questions connexes