DataGrid,GridView和DetailsView中添加删除确认提示

来源:互联网 发布:地球人套料软件 编辑:程序博客网 时间:2024/05/17 19:22

先说1.0的DataGrid,添加DataGrid的ItemDataBound事件并添加以下类似代码
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:ImageButton ID="delete" Runat="server" CommandName="DelInfo" ImageAlign="Middle" ImageUrl="Images/btn_del.gif"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
DataGrid_ItemDataBound
private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
            {
                DataRowView drv=(DataRowView)e.Item.DataItem;
           
                ImageButton l=(ImageButton)e.Item.Cells[4].FindControl("delete");
                l.Attributes.Add("onclick","BLOCKED SCRIPTreturn confirm('你确认要删除"+drv.Row["SName"].ToString()+"吗?')");
            }
        }
注意:"SName"确认中要添加确认数据的列名,此例中用的是ImageButton其它按钮与此类似。

再说2.0的GridView,添加GridView的RowDataBound事件并添加以下类似代码
<asp:CommandField ShowDeleteButton="True" />
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
            e.Row.Cells[10].Attributes.Add("onclick", "BLOCKED SCRIPTreturn confirm('你确认要删除/"" + e.Row.Cells[1].Text + "/"吗?')");

    }
注意:Cells[10]为删除按钮所在的列,删除按钮要在一个单独的列中,可以转化为模板列。

最后说DetailsView,直接利用.Net控件的OnClientClick如下:
<asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick=" BLOCKED SCRIPTreturn confirm('你确认要删除吗?')" CausesValidation="False" CommandName="Delete"
                            Text="删除"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
好啦,到此结束。