Asp.NET Tutorials
Home > Asp.Net开发 > Confirm Delete in a GridView

Hot archives

Confirm Delete in a GridView
In questi giorni mi è capitata una stranezza riguardo alla cancellazione di righe in un GridView. Come da tempo facevo per i DataGrid, ho utilizzato un piccolo JS per la conferma di cancellazione (il semplicissimo confirm) e lo aggiungevo alla collection Attributes del bottone/immagine della griglia all'interno dell'evento RowCreated:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    TableCell tc = (TableCell)e.Row.Cells[e.Row.Cells.Count - 1];
    for (int i = 0; i < tc.Controls.Count; i += 2)
    {
        // cerco il controllo ImageButton (ho utilizzato quello)
        Object o = tc.Controls[i];
        if (o is ImageButton)
        {
            // controllo trovato!
            // ora aggiungo l'evento js onClick per chiedere conferma all'utente
            ImageButton lb = (ImageButton) o;
            ((ImageButton)lb).Attributes.Add("onclick", @"javascript:return confirm('Attenzione: sicuro di voler cancellare?');");
        }
    }
}

<asp:TemplateField ShowHeader="False">
    <ItemStyle HorizontalAlign="Center" Width="16px" />
    <ItemTemplate>
        <asp:ImageButton ID="imgDelete" runat="server" CausesValidation="False" CommandName="Delete" ImageUrl="~/img/ico_elimina.gif" AlternateText="Cancella data" OnClientClick="return confirm('Sicuro di voler cancellare?');" />
    </ItemTemplate>
</asp:TemplateField>
Add by : Huobazi (2006-7-18:09:08)