我先目前知道的提示窗口是两种:
1、给GridView添加模板列TemplateField
<asp:TemplateField>
    <ItemTemplate>
        <asp:Button runat="server" OnClientClick='return confirm("确认删除?")' />
    </ItemTemplate>
</asp:TemplateField>
如果是这样我想请问下后台如何操作这种模板的事件,是在哪个事件里面写删除功能啊?
PS:我如果直接添加ButtonField或者CommandField字段的Delete命令能够进行操作,因为都要触发RowDeleting,所以删除功能代码的实现就直接写在该事件里面了(获得e.RowIndex)
2、直接在后台的RowDataBound事件里面加段代码:
for (int i = 0; i < this.GridView1.Rows.Count - 1; i++)
{
    this.GridView1.Rows[i].Cells[1].Attributes.Add("onclick", "return confirm('您确定删除吗?')");
}
这段代码是给当前行的指定列(不是控件)添加这么个属性。但是我也不知道点击确定过后的功能代码写在哪个事件里面啊,并且也不知道代码该怎样写了?好象上面两个的删除代码都不会放在RowDeleting里面了吧!如果是直接调用RowDeleting()的话希望把括号里面该怎么写的代码贴出来!!
希望各位大虾能够多多指点,非常感谢,本人对GridView这块儿是菜叶级别的。
PS:或许有人会给代码直接在ButtonField或者CommandField字段里面给其功能实现弹出提示,但是我一时接受不了这么多,因为我对上面的更容易理解,所以接受起来没那么困难,一步一步的来。
当然也希望有此想法的人能够把代码贴出来分享。我在网上看了几天了大部分都是问如何实现提示,我就反过来了。。~_~

解决方案 »

  1.   

    <asp:TemplateField> 
        <ItemTemplate> 
            <asp:Button runat="server" OnClientClick='return confirm("确认删除?")' CommandName="delete" /> 
        </ItemTemplate> 
    </asp:TemplateField>CommandName为Delete(不区分大小写)的按钮会引发RowDeleting事件,如果你的GridView使用的是数据源绑定控件,你无须写任何代码(只要SqlDataSource指定了删除命令)即可完成删除功能,如果你的GridView是自己手写代码绑定,需要在RowDeleting事件中进行删除操作
      

  2.   

    我也试过增加CommandName属性为Delete,但是也不能实现它自带的那种相当于删除命令而直接激发RowDeleting事件,我也不知道怎么回事??激发不了该事件。
      

  3.   


    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)         ...{              foreach(TableCell tc in e.Item.Cells)//枚举该行中的每个单元格              ...{                   if(tc.Controls.Count>0)//检查每个单元格中的控件数                   ...{                       foreach(Control con in tc.Controls)//得到每个控件                       ...{                            if(con.ToString()=="System.Web.UI.WebControls.DataGridLinkButton")//检查每个控件,看是否是DataGridLinkButton                            //奇怪的是在System.Web.UI.WebControls中没有这个类,我是通过Response.Write(con.ToString())发现的                            ...{                                 LinkButton lb=(LinkButton)con;                                 if(lb.CommandName=="Delete")                                 ...{                                     lb.Attributes.Add("onclick", "return confirm('您真的要删除此行吗?')");                                 }                            }                       }                    }              }                       }
      

  4.   

    你说的声明是怎么个声明啊?我不会找不到allowdelete属性啊,而且我添加的是TemplateField字段运行出现错误:
    回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证,所以我把它设置成False才能运行希望详细点啊。。
      

  5.   

    Mark!!!我发觉如果是添加的LinkButton就能够激发RowDeleting事件,如果用的是Button就好象激发不了!!!!!!!!!!!!!!!!