在.net2.0中,怎么样实现对gridview删除行时弹出确认对话框

发布时间:2013-09-19 11:33:46来源:阅读(1818)

    1,GridView中如何使用CommandField删除时,弹出确认框? 
    在.net2005提供的GridView中我们可以直接添加一个CommandField删除列:,完后在它的RowDeleting事件中完成删除。但在多半我们在做这种删除操作时都需要先让操作者再确认下,完后再进行删除,以避免误操作引起的误删除。
    可以通过下面方法给GridView删除前加上个确认对话框。
    首先,在GridView的属性对框话框中点击“Columns”进入它的“字段”设计器。接着在“字段”设计器中选择以前已加上的那个CommandField“删除”列,这时在它的属性列表下会看到一个“将此它段转换为 TemplateFied”的项,点击将它转换为TemplateFied列。
    完后退出该字段设计器,切换到源码视图你会发现该列已由原来的:
    变为了:

                                      
                                          

    最后在中加入:OnClientClick="return confirm(’确认要删除吗?’);" 
    这样点击删除时就会先在客户端弹出“确认要删除吗?”对话框,而原来在RowDeleting事件中写的代码完全不用改变。
    2,
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    if (e.Row.RowIndex > -1)
    {
    int id = Convert.ToInt32(GridView1.DataKeys[e.Row.RowIndex].Value);
    LinkButton lbtnDelete = (LinkButton)e.Row.FindControl("lbtnDelete");
    if (lbtnDelete != null)
    {
    lbtnDelete.CommandArgument = id.ToString();
    lbtnDelete.Attributes.Add("onClick", "");
    }
    }
    }

    }
    3,先引用System.windwos.Forms,然后在进行处理.
    using System.Windows.Forms;

    protected void gvNewList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
    DialogResult result = MessageBox.Show("确定要删除本行吗?", "信息提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2,MessageBoxOptions.ServiceNotification);
    if (result == DialogResult.Yes)
    {
    e.Cancel = false;
    }
    else
    {
    e.Cancel = true;
    }
    }
    4,添加一个删除列
    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?’);");
    }
    }
    }
    -------------------------------------------------------------






    以上方法总结
    ---------Template way-----------------------------------------------



    Text="删除" OnClientClick=’return confirm("Are you sure you want to delete this record?");’>




    -------------RowDeleting method------------------------------------------------

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
    Response.Write("");
    }

    -------------RowDataBound method--------------------------------------------------------------
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    ((LinkButton)e.Row.Cells[4].Controls[0]).Attributes.Add("onclick", "javascript:return confirm(’确实要删除该记录吗?’)");
    }

关键字