En este post veremos cómo implementar un mensaje de confirmación con javascript para borrar un registro en un GridView.

Debes tener un GridView y un ObjectDataSource similares a estos:

  1. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" AllowPaging="True" AllowSorting="True" CellPadding="0" PageSize="30" GridLines="None" Width="100%" DataKeyNames="id">
  2.     <Columns>
  3.         <asp:BoundField DataField="id" HeaderText="ID" InsertVisible="False" SortExpression="id" />
  4.         <asp:BoundField DataField="usuario" HeaderText="Usuario" SortExpression="usuario" />
  5.  
  6.         <asp:TemplateField HeaderText="Eliminar">
  7.           <ItemTemplate>
  8.             <asp:LinkButton ID="LinkButton1"
  9.              CommandArgument='<%# Eval("id") %>'
  10.               CommandName="Delete" runat="server">
  11.               Eliminar</asp:LinkButton>
  12.           </ItemTemplate>
  13.         </asp:TemplateField>            
  14.        
  15.     </Columns>
  16.  
  17.     <EmptyDataTemplate>
  18.         No existen registros.
  19.     </EmptyDataTemplate>
  20. </asp:GridView>
  21. <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="{0}"
  22.    SelectMethod="ObtenParaGridView" TypeName="BLLComentario" DeleteMethod="BorraComentario">
  23.     <DeleteParameters>
  24.         <asp:Parameter Name="id" Type="Int32" />
  25.     </DeleteParameters>
  26. </asp:ObjectDataSource>

Ahora bien, para agregar el javascript necesario para realizar la confirmación, debemos valernos del evento GridView1_RowDataBound, así:

  1. Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
  2.         'Anadir javascript de confirmacion para cada linkbutton
  3.         If e.Row.RowType = DataControlRowType.DataRow Then
  4.             Dim Lb As LinkButton = e.Row.FindControl("LinkButton1")
  5.             Lb.Attributes.Add("onclick", "javascript:return confirm('¿Está seguro de que desea eliminar el registro con ID=" & DataBinder.Eval(e.Row.DataItem, "id") & "?')")
  6.         End If
  7.     End Sub

Y listo, obtendremos una confirmación como esta:

Confirmar con javascript eliminación de registro en GridView

3 comentarios sobre “Cómo crear un mensaje de confirmación para eliminar un registro en un GridView

  1. AQUI ENVIO EL CODIGO DE C# PARA LOS QUE MANEJEN ESTE LENGUAJE

    protected void GVAltaFamilia_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType==DataControlRowType.DataRow)
                {                
                    LinkButton Lb=(LinkButton)e.Row.FindControl("LinkButton1");
                    Lb.Attributes.Add("OnClick", "return confirm('¿Está seguro de que desea eliminar el registro con ID=" + DataBinder.Eval(e.Row.DataItem, "ID_FAMILIA") + "?')");
                }
            }
    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


7 − = cinco