给用户控件添加事件
2009-02-13 19:25
351 查看
意图是这样的:
管理页面中,总会有一些新增啊,删除啊,修改啊之类的按钮,为了方便,我想做个用户控件;这个用户控件,里面有三个按钮,新增、修改、删除;这个用户控件要在多个页面上出现,当然,修改与删除的对像也不相同;所以,这个用户控件,在不同的页面中,这三个按钮会使用不同的事件;(如果只是加事件,直接双击按钮就可以加了)
用户控件的代码
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="topBar.ascx.cs" Inherits="webControl_topBar" %>
<asp:Button ID="ButAdd" runat="server" Text="新增" OnClick="ButAdd_Click" />
<asp:Button ID="ButMod" runat="server" Text="修改" OnClick="ButMod_Click" />
<asp:Button ID="ButDel" runat="server" Text="删除" OnClick="ButDel_Click" />
用户控件C#中的代码
public partial class webControl_topBar : System.Web.UI.UserControl
{
//定义一个委托
public delegate void userEvent(object sender, EventArgs arg);
public event userEvent Add;
public event userEvent Delete;
public event userEvent Modify;
protected void Page_Load(object sender, EventArgs e)
{
}
// 控件中按钮的事件
protected void ButAdd_Click(object sender, EventArgs e)
{
if (this.Add != null)
this.Add(this, e);
}
protected void ButDel_Click(object sender, EventArgs e)
{
if (this.Delete != null)
this.Delete(this, e);
}
protected void ButMod_Click(object sender, EventArgs e)
{
if (this.Modify != null)
this.Modify(this, e);
}
}
上面用到了事件与委托;利用用户控件中的按钮来触发自己定义的事件;
那么,在aspx页面中引用这个控件时:
<form id="form1" runat="server">
<uc2:topBar id="TopBar1" OnAdd="ButAdd_Click" OnDelete="ButDel_Click" OnModify="ButMod_Click" runat="server">
</uc2:topBar>
</form>
当然不要忘记了页面头部的
<%@ Register Src="webControl/topBar.ascx" TagName="topBar" TagPrefix="uc2" %>
在这个aspx页面的C#文件中,有这样一些事件
protected void ButAdd_Click(object sender, EventArgs e)
{
this.Response.Write(sender.GetType().ToString());
}
protected void ButDel_Click(object sender, EventArgs e)
{
this.Response.Write("删除");
}
protected void ButMod_Click(object sender, EventArgs e)
{
this.Response.Write("修改");
}
这样,还可以在用户控件中判断当前登录用户的权限,例如,如果没有删除权限,删除按钮就不出现。
管理页面中,总会有一些新增啊,删除啊,修改啊之类的按钮,为了方便,我想做个用户控件;这个用户控件,里面有三个按钮,新增、修改、删除;这个用户控件要在多个页面上出现,当然,修改与删除的对像也不相同;所以,这个用户控件,在不同的页面中,这三个按钮会使用不同的事件;(如果只是加事件,直接双击按钮就可以加了)
用户控件的代码
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="topBar.ascx.cs" Inherits="webControl_topBar" %>
<asp:Button ID="ButAdd" runat="server" Text="新增" OnClick="ButAdd_Click" />
<asp:Button ID="ButMod" runat="server" Text="修改" OnClick="ButMod_Click" />
<asp:Button ID="ButDel" runat="server" Text="删除" OnClick="ButDel_Click" />
用户控件C#中的代码
public partial class webControl_topBar : System.Web.UI.UserControl
{
//定义一个委托
public delegate void userEvent(object sender, EventArgs arg);
public event userEvent Add;
public event userEvent Delete;
public event userEvent Modify;
protected void Page_Load(object sender, EventArgs e)
{
}
// 控件中按钮的事件
protected void ButAdd_Click(object sender, EventArgs e)
{
if (this.Add != null)
this.Add(this, e);
}
protected void ButDel_Click(object sender, EventArgs e)
{
if (this.Delete != null)
this.Delete(this, e);
}
protected void ButMod_Click(object sender, EventArgs e)
{
if (this.Modify != null)
this.Modify(this, e);
}
}
上面用到了事件与委托;利用用户控件中的按钮来触发自己定义的事件;
那么,在aspx页面中引用这个控件时:
<form id="form1" runat="server">
<uc2:topBar id="TopBar1" OnAdd="ButAdd_Click" OnDelete="ButDel_Click" OnModify="ButMod_Click" runat="server">
</uc2:topBar>
</form>
当然不要忘记了页面头部的
<%@ Register Src="webControl/topBar.ascx" TagName="topBar" TagPrefix="uc2" %>
在这个aspx页面的C#文件中,有这样一些事件
protected void ButAdd_Click(object sender, EventArgs e)
{
this.Response.Write(sender.GetType().ToString());
}
protected void ButDel_Click(object sender, EventArgs e)
{
this.Response.Write("删除");
}
protected void ButMod_Click(object sender, EventArgs e)
{
this.Response.Write("修改");
}
这样,还可以在用户控件中判断当前登录用户的权限,例如,如果没有删除权限,删除按钮就不出现。
相关文章推荐
- 在asp.net中为Web用户控件添加属性和事件
- ASP.NET用户控件说明和添加事件
- c#给用户控件添加事件处理程序
- c#给用户控件添加事件处理程序
- .NET----给用户控件添加事件
- [ASP.NET开发系列]在用户控件中添加事件 -- 摘自 tigerwen01
- 在用户控件中动态添加控件及事件
- ASP.NET用户控件说明和添加事件
- 在asp.net中为Web用户控件添加属性和事件
- 在asp.net中为Web用户控件添加属性和事件
- ASP.NET开发:在用户控件中添加事件
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- 为用户控件User Control添加事件_AX
- [原创]如何为用户控件添加事件
- 为用户控件 User Control添加事件(转)
- 转Asp.net 用户控件添加自定义事件
- [ASP.NET开发系列]在用户控件中添加事件
- 在asp.net中为Web用户控件添加属性和事件
- C# 中用户控件中添加事件和使用
- 给用户控件添加事件