Saturday, August 9, 2008

Confirmation Messagebox when deleting an item from the GridView ASP.NET Control

Many Users click the delete button within the GridView with no attention then the result the item will be deleted from the GridView, so we can add confirmation messagebox to appear to tell the user "Are you sure you want to delete this item?".

First of all we have to attach the javascript code for each delete button within the GridView, we can do that in the itemdatabound method of the GridView:
HttpContext.Current.Response.Write(MyString);
LinkButton deleteButton = e.Item.Cells[0].Controls[0];
deleteButton.Attributes.Add("onclick","javascript:return confirm('Are you sure you want to delete this item?')");
where the first cell in the GridView is a linkbutton.
So when the user clicks the delete button then a confirmation message appears so if the user clicks No then nothing happens else postback will happen then it should be a server event such as a onDeleteCommand that fires when the user clicks the delete button as
private void dgPendingCompleteForms_Delete(Object sender, DataGridCommandEventArgs e)
{
    //Put your code here when the user presses the yes button on the confirmation meessagebox
}

Source: https://www.nilebits.com/blog/2007/11/confirmation-message-deleting-item-gridview-control-asp-dot-net/

2 comments:

  1. its great, but i believe there's a javascript (Ajax) confirmation can do the same functionality

    ReplyDelete
  2. You can also put the confirmation directly in the linkbutton onclientclick property instead of looking for it in the ItemDataBound event and setting the onclick attribute

    OnClientClick="return confirm('Are you sure you want to delete this item?');"

    Ofcourse the linkbutton will be in a template column.

    ReplyDelete