?
Solved

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

Posted on 2006-11-20
2
Medium Priority
?
208 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 2000 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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

864 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