您的位置:首页 > 其它

GridView删除提示对话框

2009-07-04 10:46 411 查看
我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。

如果是 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,方法比较简单,我们采用在按钮中添加属性来完成:
举例如下:
public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");

如果是在一个GridView中,想要删除选中的行,之前要弹出提示对话框,这个就比较麻烦。

建立一个新类,名为DeleteButtonField, 该类继承自LinkButton类,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

namespace myControls

{

public class DeleteButton : LinkButton
{
private string _confirmText = "删除这条记录吗?";

public string ConfirmText
{
get { return _confirmText; }
set { _confirmText = value; }
}

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
base.Attributes["onclick"] = string.Format("return confirm('{0}');", _confirmText);
}

public override void DataBind()
{
base.DataBind();
}
}

在ASPX界面作如下:

引入该控件

<%@ Register TagPrefix="custom" Namespace="myControls" %>

<asp:TemplateField >
<HeaderTemplate>删除</HeaderTemplate>
<ItemTemplate>
<custom:DeleteButton ID="lbtnDelete" runat="server" ConfirmText="你确定要删除该记录吗?" CommandArgument='<%#Eval("ID") %>' onclick="lbtnDelete_Click">删除</custom:DeleteButton>
</ItemTemplate>
</asp:TemplateField>

然后在.cs文件中

protected void lbtnDelete_Click(object sender, EventArgs e)
{
LinkButton lbtn = (LinkButton)sender;
string ID = lbtn.CommandArgument;

//删除数据
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: