1.- Primero debemos de tener la función que se encargará de mostrar el mensaje de confirmación
********* Función ************
Donde la variable e será el evento a ejecutarse y la variable mensaje
será el mensaje que quieres que se muestre.
function mensajeConfirm(e, mensaje)
{
if(!confirm(mensaje)){
if(window.event){
window.event.cancelBubble=true;
window.event.returnValue=false;
}
if(e && e.preventDefault){
e.preventDefault();
e.stopPropagation();
}
}
}
2.- Luego el código aspx en la parte sombreada con color rojo vemos un evento, propio del ImageButton, OnclientClick pues este es el que te permitirá ejecutar la función que acabamos de crear en el punto 1.
*********** Aspx *********
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="fila" runat="server" Text='<% # Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="15px"></ItemStyle>
</asp:TemplateField>
<asp:BoundField DataField="DNI_INSPECTOR" HeaderText="DNI">
<ItemStyle HorizontalAlign="Center" Width="100px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="NOMBRE" HeaderText="INSPECTOR">
<ItemStyle HorizontalAlign="Left" Width="300px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="COD_REGISTRO" HeaderText="C. REGISTRO">
<ItemStyle HorizontalAlign="Center" Width="70px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="NOMBRE_REGION_CTL" HeaderText="REGION">
<ItemStyle HorizontalAlign="Center" Width="130px"></ItemStyle>
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImbEliminar" runat="server" CssClass="detail"
CommandArgument='<%# Eval("CodInspector")%>' CommandName="Del" ImageUrl="~/imagen/btnDelete.gif"
OnClientClick="mensajeConfirm(event, '¿ Está seguro que desea eliminar el Inspector seleccionado ?')"
ToolTip="Eliminar" />
</ItemTemplate>
<ItemStyle Width="15px"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>
3.- Luego vendría el código C# para acceder a ese ImageButton del gridview en el evento RowCommand del gridview.
protected void dgDatos_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
//CommandName seria el nombre que le ponemos al
//ImageButton para acceder mediante este evento
if (e.CommandName.Equals("Del"))
{
// Esta linea se encarga de recuperar, en este caso,
//la llave primaria de esa fila del listado
//eso se lo asigno en CommandArgument lo podrán
//ver arriba está sombreado de color rojo
Int32 codigo= Convert.ToInt32(e.CommandArgument);
eliminarInspector(codigo);
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
}
4.- Finalmente vamos a tener un listado así en el cual presionamos el botón de eliminar y mostrará un mensaje que si realmente desea eliminarlo adjunto las imágenes y sería todo.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="fila" runat="server" Text='<% # Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="15px"></ItemStyle>
</asp:TemplateField>
<asp:BoundField DataField="DNI_INSPECTOR" HeaderText="DNI">
<ItemStyle HorizontalAlign="Center" Width="100px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="NOMBRE" HeaderText="INSPECTOR">
<ItemStyle HorizontalAlign="Left" Width="300px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="COD_REGISTRO" HeaderText="C. REGISTRO">
<ItemStyle HorizontalAlign="Center" Width="70px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="NOMBRE_REGION_CTL" HeaderText="REGION">
<ItemStyle HorizontalAlign="Center" Width="130px"></ItemStyle>
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImbEliminar" runat="server" CssClass="detail"
CommandArgument='<%# Eval("CodInspector")%>' CommandName="Del" ImageUrl="~/imagen/btnDelete.gif"
OnClientClick="mensajeConfirm(event, '¿ Está seguro que desea eliminar el Inspector seleccionado ?')"
ToolTip="Eliminar" />
</ItemTemplate>
<ItemStyle Width="15px"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>
3.- Luego vendría el código C# para acceder a ese ImageButton del gridview en el evento RowCommand del gridview.
protected void dgDatos_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
//CommandName seria el nombre que le ponemos al
//ImageButton para acceder mediante este evento
if (e.CommandName.Equals("Del"))
{
// Esta linea se encarga de recuperar, en este caso,
//la llave primaria de esa fila del listado
//eso se lo asigno en CommandArgument lo podrán
//ver arriba está sombreado de color rojo
Int32 codigo= Convert.ToInt32(e.CommandArgument);
eliminarInspector(codigo);
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
}
4.- Finalmente vamos a tener un listado así en el cual presionamos el botón de eliminar y mostrará un mensaje que si realmente desea eliminarlo adjunto las imágenes y sería todo.
1
2