2017-09-22 2 views
0

J'ai un fichier asp: GridView contenant un champ CommandField.Si vous tentez de créer une boîte de dialogue de confirmation en supprimant une ligne d'un GridView à l'aide de CommandField, cette opération sera supprimée quel que soit le choix.

Lorsque je clique sur l'image de suppression, OnRowDeleting sera appelé dans le code derrière.

Je souhaite ajouter une boîte de dialogue de confirmation à l'aide de jquery.

Essayer ceci:

$('input[alt="Ta bort"]').click(function(e) 
{ 
    var target = e.which; 

    var tr = $(target).closest('tr'); 
    var td = tr.find("td:first"); 

    if (!confirm("Do you want to remove the line where the first cell reads" + td.text() + "?")) 
    { 
     return false; 
    } 
}); 

Je ne sais pas comment le texte « Ta bort » est en fait dans cet attribut alt, le « supprimer » dans ma langue, doit être généré automatiquement, parce que rien dans mon ASPX code lit "Ta bort". Je ne trouve pas d'autre moyen d'écrire facilement un sélecteur à côté de ce texte alt.

La confirmation apparaît, mais l'événement ne sera jamais annulé. Cela signifie que même si je choisis "non", la ligne est supprimée.

Pourquoi?

J'ai aussi essayé e.preventDefault();

Je ne veux pas créer un TemplateField au lieu de CommandField comme l'a suggéré à Delete Confirmation Message in CommandField?

Répondre

0

vous pouvez utiliser comme ci-dessous

<asp:LinkButton ID="lnkDelete" runat="server" CausesValidation="False" 
         CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this record');"></asp:LinkButton> 

Envoyer cette reference link

+0

I Je souhaite continuer à utiliser CommandField, si possible. –