您的位置:首页 > 编程语言 > ASP

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;
}
}

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