如何为gridview控件里的“删除”列添加一个确认对话框?网上众说纷纭,大致见到了三种解决方案,现归纳如下:
1、继承Web.IO里的button控件,为其实现一个IPostback的接口用于回调,具体代码之复杂,只有作者自己想体会吧……
2、在gridview的RowDataBound事件中,遍历所有子控件,若属于LinkButton类,且CommandName为“Delete”,就调用其Atributes.Add方法,添加一个onclick事件内含confirm语句,即
3、目前已知的最简洁的方法,如图,在删除按钮的那一列属性里面,把DeleteText属性设为
这个太强了,赞一个。
可问题是,.net输出的html代码如下:
仔细想了想,以前用asp直接写的删除标签是这个样子的:
之后,新的问题又来了。如果我们的CommandField中ButtonType是Button的话,这段代码就失效了。我想了下,可以通过将其转换为模板列的方式来解决。
先将该字段转换成模板,然后编辑这个模板列,选中用于删除的Button,将其onClientClick属性设为
为Button添加 "删除" 确认按钮:
aspx中
<asp:button id="btnDel" runat="server" Text="削 除" Cssclass="ibutton"></asp:button>
<asp:button id="btnPrt" runat="server" Text="印 刷" Cssclass="ibutton"></asp:button>
aspx.cs中
protected System.Web.UI.WebControls.Button btnDel;
protected System.Web.UI.WebControls.Button btnPrt;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
}
btnDel.Attributes.Add("onclick","return confirm('确定删除吗?');");
btnPrt.Attributes.Add("onclick","return confirm('确定打印吗?');");
}
private void btnPrt_Click(object sender, System.EventArgs e)
{
//
}
private void btnDel_Click(object sender, System.EventArgs e)
{
}
源自:http://www.cnblogs.com/doraeimo/archive/2007/01/01/609344.html