asp.net用户控件事件处理
2010-07-14 21:17
232 查看
用户控件cs代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebTest
{
public partial class UserTestControl : System.Web.UI.UserControl
{
//定义事件
public event DisplayClickEventHandler Display_Click;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnDisplay_Click(object sender, EventArgs e)
{
//在按钮事件执行时发布自定义事件
UserDisplayEventArgs userDisplayEventArgs = new UserDisplayEventArgs();
Display_Click(this, userDisplayEventArgs);
gvUserList.DataSource = userDisplayEventArgs.UserList;
gvUserList.DataBind();
}
}
#region 显示数据的委托
/// <summary>
/// 显示数据的委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void DisplayClickEventHandler(object sender, UserDisplayEventArgs e);
#endregion
#region 事件信息类
/// <summary>
/// 事件信息类
/// </summary>
public class UserDisplayEventArgs : System.EventArgs
{
private DataSet _UserList;
/// <summary>
/// 获取或者设置用户列表
/// </summary>
public DataSet UserList
{
get
{
return _UserList;
}
set
{
_UserList = value;
}
}
}
#endregion
}
用户控件页面代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserTestControl.ascx.cs" Inherits="WebTest.UserTestControl" %>
<asp:Button ID="btnDisplay" runat="server" onclick="btnDisplay_Click"
Text="显示用户" />
<asp:GridView ID="gvUserList" runat="server">
</asp:GridView>
引用页面代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebTest
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
userControl.Display_Click += new DisplayClickEventHandler(userControl_Display_Click);
}
void userControl_Display_Click(object sender, UserDisplayEventArgs e)
{
DataSet ds = new DataSet();
ds.Tables.Add("ta");
ds.Tables[0].Columns.Add("UserName");
ds.Tables[0].Columns.Add("UserAge");
DataRow row = ds.Tables[0].NewRow();
row[0] = "Hunter";
row[1] = "25";
ds.Tables[0].Rows.Add(row);
e.UserList = ds;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebTest
{
public partial class UserTestControl : System.Web.UI.UserControl
{
//定义事件
public event DisplayClickEventHandler Display_Click;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnDisplay_Click(object sender, EventArgs e)
{
//在按钮事件执行时发布自定义事件
UserDisplayEventArgs userDisplayEventArgs = new UserDisplayEventArgs();
Display_Click(this, userDisplayEventArgs);
gvUserList.DataSource = userDisplayEventArgs.UserList;
gvUserList.DataBind();
}
}
#region 显示数据的委托
/// <summary>
/// 显示数据的委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void DisplayClickEventHandler(object sender, UserDisplayEventArgs e);
#endregion
#region 事件信息类
/// <summary>
/// 事件信息类
/// </summary>
public class UserDisplayEventArgs : System.EventArgs
{
private DataSet _UserList;
/// <summary>
/// 获取或者设置用户列表
/// </summary>
public DataSet UserList
{
get
{
return _UserList;
}
set
{
_UserList = value;
}
}
}
#endregion
}
用户控件页面代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserTestControl.ascx.cs" Inherits="WebTest.UserTestControl" %>
<asp:Button ID="btnDisplay" runat="server" onclick="btnDisplay_Click"
Text="显示用户" />
<asp:GridView ID="gvUserList" runat="server">
</asp:GridView>
引用页面代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebTest
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
userControl.Display_Click += new DisplayClickEventHandler(userControl_Display_Click);
}
void userControl_Display_Click(object sender, UserDisplayEventArgs e)
{
DataSet ds = new DataSet();
ds.Tables.Add("ta");
ds.Tables[0].Columns.Add("UserName");
ds.Tables[0].Columns.Add("UserAge");
DataRow row = ds.Tables[0].NewRow();
row[0] = "Hunter";
row[1] = "25";
ds.Tables[0].Rows.Add(row);
e.UserList = ds;
}
}
}
相关文章推荐
- Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
- ASP.NET用户控件说明和添加事件
- ASP.Net 母版、页面、用户控件事件的执行顺序
- 动态添加ASP.NET控件并绑定处理事件
- ASP.NET组件与开发之复合控件的事件处理
- ASP.NET用户控件操作ASPX页面(在ASPX页面捕捉用户控件的事件)
- 在asp.net中为Web用户控件添加属性和事件
- Asp.net用户控件和委托事件
- ASP.NET页面上直接放置用户控件WebUserControl1时的事件顺序
- 在asp.net中为Web用户控件添加属性和事件
- 转Asp.net 用户控件添加自定义事件
- ASP.NET组件与开发之复合控件的事件处理
- ASP.NET用户控件事件的定义和实践--C#里的委托和事件实现Observer
- 在asp.net中为Web用户控件添加属性和事件
- 在asp.net中为Web用户控件添加属性和事件
- ASP.NET用户控件事件的定义和实践
- ASP.NET页面事件过程-多个用户控件时的执行过程
- ASP.NET 用户控件自定义属性、方法、事件
- 在asp.net中为Web用户控件添加属性和事件
- 关于asp.net用户控件 事件丢失