用户自定义控件(Grids.ascx)中包含控件GridView,比如希望实现GridView里的删除事件.为此,需在用户控件和页面代码中分别作一些处理.
Grids.ascx.cs中的处理:
1. 定义public的事件委托,如ClickDeleteEventHandler;
2. 在UserControl类中声明事件,如Click;
核心代码如下:
public delegate void ClickDeleteEventHandler(object sender,EventArgs e);
public partial class Controls_Grids : System.Web.UI.UserControl
{
public event ClickDeleteEventHandler Click;
protected void GridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (Click != null)
{
Click(sender,e);
}
}
}
包含Grids的页面cs文件中的处理:
1.在Page_Load中增加事件处理程序
如: Grids1.Click+=new ClickDeleteEventHandler(Grids1_Click)
2.定义事件处理方法,在该方法中处理Grids的事件,如Grids1_Click()
核心代码如下:
protected void Page_Load(object sender, EventArgs e)
{
BindGrids();
Grids1.Click+=new ClickDeleteEventHandler(Grids1_Click);
}
public void Grids1_Click(object sender,EventArgs e)
{
new Cantaloup.Databases.Basal().InsertToRecycle("Base_Customer", "Customer_ID", "1005");
BindGrids();
}