Solved

How to Provide a Delete Confirmation in GridView Control When Delete is Clicked.

Posted on 2006-11-20
2
203 Views
Last Modified: 2008-02-01
Greetings;

In Visual Studio 2003 VB.NET for ASP.NET when I wanted to associate a JavaScript alert when a user clicked the delete button (or delete link) to confirm the user really wanted to delete the row in a datagrid control I used the following example in the ItemDataBound event in the codebehind file:

----------------------------------------- BEGIN

      Private Sub dlContact_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlContact.ItemDataBound
            Dim btnDelete As Button

            If e.Item.ItemType = ListItemType.Header Or _
             e.Item.ItemType = ListItemType.Footer Then
                  Exit Sub
            End If

            btnDelete = CType(e.Item.FindControl("btnDelete"), Button)
            If btnDelete Is Nothing Then
                  Exit Sub
            End If
            btnDelete.Attributes("onclick") = "javascript:return confirm('Are you sure you want to delete this contact?');"
      End Sub

----------------------------------------- END

In Visual Studio 2005 VB.NET for ASP.NET when I use the <asp:CommandField> tag to create Edit, Select, Delete buttons (or links) what is the equivalent method of providing a confirmation when the user clicks the delete button?


Much thanks ... David
0
Comment
Question by:David Bach
2 Comments
 
LVL 28

Expert Comment

by:strickdd
ID: 17981873
It should still be a matter of adding the "OnClick" attribute to the button by the buttons ID in the code-behind after the data is bound.
0
 
LVL 9

Accepted Solution

by:
kraffay earned 500 total points
ID: 17981958
I would highly recommend converting your CommandFields to TemplateFields.  CommandFields cause redundant post back and greatly slow down gridview performance.  

Here I have a delete button:

 <asp:TemplateField>
                                    <HeaderTemplate>
                                        Delete
                                    </HeaderTemplate>
                                    <ItemStyle HorizontalAlign="Left" VerticalAlign="Bottom" />
                                    <ItemTemplate>
                                        <asp:ImageButton ImageAlign="AbsBottom" Height="15px" ImageUrl="images/icon-delete.gif"
                                            ID="btnDelete" runat="server" CommandArgument="<%# Bind('UserName')%>" CausesValidation="False" />
                                    </ItemTemplate>
                                </asp:TemplateField>

At run time, I attached the alert to the delete button's click event:

    protected void grdUsers_OnRowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            ImageButton btnDelete = (ImageButton)e.Row.FindControl("btnDelete");
            btnDelete.Attributes.Add("onclick", "return confirm('Are you sure you want to delete this user?');");
        }
    }
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this Article, I will provide a few tips in problem and solution manner. Opening an ASPX page in Visual studio 2003 is very slow. To make it fast, please do follow below steps:   Open the Solution/Project. Right click the ASPX file to b…
Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question