当前位置: 代码迷 >> ASP.NET >> GridView有个删除操作的列,怎样在点击“删除”前提示用户“是否删除”?该怎么解决
  详细解决方案

GridView有个删除操作的列,怎样在点击“删除”前提示用户“是否删除”?该怎么解决

热度:4285   发布时间:2013-02-25 00:00:00.0
GridView有个删除操作的列,怎样在点击“删除”前提示用户“是否删除”?
注意,是要在前台代码中实现这个 "询问用户是否删除"的功能,
只有当用户选择“确定删除后”才触发后台代码。

前台代码
HTML code
 <asp:GridView ID="gv_OrderInfo" runat="server" OnRowDeleting="gv_OrderInfo_RowDeleting">        <Columns>            <asp:ButtonField CommandName="Delete" Text="删除" >            <ItemStyle Width="30px"></ItemStyle>            <ControlStyle ForeColor="Blue" />            </asp:ButtonField>        </Columns>


后台代码如下
C# code
        protected void gv_OrderInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)        {           //我的要求是前台询问用户是否删除,当选择“确定删除”之后才触发此方法        }


------解决方案--------------------------------------------------------


可以在gv_OrderInfo_RowDataBound事件里写
C# code
 protected void gv_OrderInfo_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)//(RowType是对象的行类型)这是判断绑定的,只有DataControlRowType.DataRow行能绑定数据        {            ((Button)(e.Row.Cells[4].Controls[0])).Attributes.Add("onclick","return confirm('确定要删除吗? ')");        }    }
------解决方案--------------------------------------------------------
需要处理一下,我的这种写法很常用啊,处理起来也方便啊
public void btnDelete_Command(object sender,CommandEventArgs e)
{
? string id= e.CommandArguments.ToString();
? string strSQL = "delete from 你的表名 where GUID="+int.Parse(id);
? //执行删除逻辑即可
? ...
}
------解决方案--------------------------------------------------------
如果你想传递多个参数的话,将三个参数都写到CommandArgument中,用一定的符号分割,然后取值的时候,再按照这个符号进行分割使用即可。

参考
  相关解决方案