2009-11-11 8 views
0

J'utilise girdview. et pour supprimer, j'utilise LinkButton dans chaque ligne.JavaScript Confirmer Ne fonctionne pas?

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     ((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick", 
      "return false;" 
     ); 
    } 
} 

Maintenant, j'attendre ne se passe rien quand je Link Button est cliqué parce que OnClick retours false. Droite?

MAIS

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if(e.CommandName=="SIL") 
    { 
     String _id = GridView1.DataKeys[Int32.Parse(e.CommandArgument.ToString())].Values["id"].ToString(); 

     dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter _todeme = new dsodeme_onkayitTableAdapters.odeme_onkayitTableAdapter(); 
     _todeme.DeleteQueryID(_id); 

     Response.Redirect("musteri_onkayit_odeme_al.aspx?username=" + lbUserName.Text); 
    } 
} 

est invoqué. Le RowCommand exécute et supprime les enregistrements.

S'il vous plaît aidez-moi à trouver le problème. J'utilise Vista Home Premium et IE8. Est-ce le problème?

+10

Il est beaucoup plus facile de comprendre pourquoi JavaScript ne fonctionne pas comme prévu si vous montrez aux gens le JavaScript au lieu de certains ASP.NET qui essaie de générer du JavaScript. – Quentin

+1

L'avez-vous essayé dans Firefox? Il a une console d'erreur qui peut être très utile dans de tels cas. –

+2

Vous devez aimer les choses comme les cellules [12] dans le code –

Répondre

1

Ok, je fixe comme ça;

attribut.add ("onClick", "if (! Confirm ('Are you sure?')) Event.returnValue = false;");

ça marche. Merci.

0

Je pense que Jan doit être sur quelque chose, est-il possible que le lien réel que vous essayez d'ajouter sur onClick n'est pas 'cellule 12 contrôle 0'?

Vous devriez montrer le résultat et nous serons en mesure de comprendre ce qui ne va pas.

0

Je sais que cela peut ne pas ressembler à la réponse que vous voulez mais si vous savez que le contrôle ne devrait pas permettre une suppression, pourquoi ne pas le rendre invisible, c'est-à-dire Masquer le contrôle. En fin de compte, cela permettra d'atteindre ce que vous essayez de faire.

+0

Bonjour, Lorsque je cours dans Internet Explorer 8, la confirmation ne fonctionne pas. MAIS je sélectionne mon projet clic droit et je clique sur Parcourir avec ... que je sélectionne le navigateur Web interne. IL EST TRÈS BEAU TRAVAIL dans le navigateur Web interne. Mais IE8 ne fonctionne pas conrim? Alors quel est le problème? – atromgame

1

Au lieu de:

((LinkButton)e.Row.Cells[12].Controls[0]).Attributes.Add("onClick", 
      "return false;" 
     ); 

Essayez:

((LinkButton)e.Row.Cells[12].Controls[0]).OnClientClick = "return false;"; 
+0

Je l'essaie, mais ne fonctionne pas à nouveau. – atromgame