Confirm Delete in a GridView

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;
        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>  (2006-7-18:09:08)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

ASP.NET 2.0 中跨网页提交的方法集合
个性化的分页实现
ASP.NET中实时图表的实现
ASP.NET程序中常用的三十三种代码(第四页)
ASP.net中页面事件的先后执行顺序
用ASP.NET设计高效邮件列表
在Visual Studio2005 中调试JavaScript
ASP.NET程序中常用的三十三种代码(三)
asp.net开发wap必备:更好的匹配手机设备
基于ASP.NET的Web动态控件创建