2010-06-08 5 views
0

Comment puis-je faire apparaître une boîte de message pour confirmer une suppression, à l'intérieur d'une méthode?Confirmer la suppression de l'enregistrement, par la méthode

Normalement, je voudrais utiliser la ligne suivante dans mon bouton: OnClientClick = "return confirm ('Êtes-vous sûr de vouloir supprimer ce commentaire?');"

Toutefois, cette méthode de suppression peut également être appelée par une chaîne de requête, j'ai donc besoin de la confirmation de la fonctionnalité de boîte de message dans la méthode, s'il vous plaît?

// delete comment method 
private void DeleteComment() 
{ 

      int commentid = Int32.Parse(Request.QueryString["c"]); 

      // call our delete method 
      DB.DeleteComment(commentid); 

} 

Je ne peux pas cliquer sur le bouton dans le code, car il ne se déclenche pas l'événement OnClientClick btnDelete_Click (null, null);

Cordialement

Faire fondre

Répondre

0

Je recommanderais de faire quelque chose comme ça. Ajouter un 2ème argument de chaîne de requête pour dicter si elle est confirmée ou non. Définir définitivement du code pour confirmer que l'utilisateur est connecté afin que cette méthodologie de chaîne de requête ne soit pas touchée par un webcrawler ou quelque chose et supprime accidentellement tous vos commentaires.

// delete comment method 
private void DeleteComment() 
{ 

    if(Boolean.Parse(Request.QueryString["confirm"]) 
    { 
      int commentid = Int32.Parse(Request.QueryString["c"]); 

      // call our delete method 
      DB.DeleteComment(commentid); 
    } 
    else 
    { 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "ConfirmDelete", @" 
      if(confirm('Are you sure you want to delete this comment?')) 
       window.location = '[insert delete location with confirm set to true]';     
      ", true); 
    } 

} 
1

vous pouvez essayer d'utiliser cette

ibtnDelete.Attributes.Add("onClick", "javascript:return confirm('Are you sure you want to delete ?');"); 
+0

Bonjour, cela ne déclenche pas l'événement onClientClick lors du chargement de la page. Merci pour la réponse Cordialement Faire fondre – Melt

0

sonne comme vous devez vérifier la chaîne de requête avec javascript et afficher votre message.
Vérifiez cette post:

Vous pouvez modifier la méthode et l'appeler dans votre body.onload ou (jquery) fonction .ready. Le problème devient alors comment laisser votre méthode côté serveur connaître les résultats? Vous pouvez configurer une page séparée qui gère la suppression et l'appeler en utilisant la méthode jquery ajax post.

Je pense que c'est mon .02 $