LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP.NET用户控件操作ASPX页面(在ASPX页面捕捉用户控件的事件)

admin
2017年5月27日 17:49 本文热度 6071

一、简单实例

先来个简单点的,首先新建一个 “web用户控件”WebUserControl1.ascx,

在页面上添加一个按钮,并响应Click事件:

[csharp] view plain copy
  1. <asp:Button ID="Button1" runat="server" Text="在页面级的TextBox输入一个随机数" onclick="Button1_Click" />  


然后编写后台代码:

[csharp] view plain copy
  1. //定义一个不含数据的事件处理方法  
  2. public event EventHandler Click;  
  3.   
  4. protected void Button1_Click(object sender, EventArgs e)  
  5. {  
  6.     Click(this, EventArgs.Empty);              
  7. }  


好了,用户控件我们就算完成了,现在新建一个WebForm1.aspx页面,在页面上添加一个Textbox,并把用户控件添加到该页面:

[html] view plain copy
  1. <%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml" >  
  4. <head runat="server">  
  5.     <title></title>  
  6. </head>  
  7. <body>  
  8.     <form id="form1" runat="server">  
  9.     <div>      
  10.         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  
  11.         <br />  
  12.         <uc1:WebUserControl1 ID="WebUserControl11" runat="server" />      
  13.     </div>  
  14.     </form>  
  15. </body>  
  16. </html>  


然后我们在后台对用户控件的事件添加一个函数响应,代码如下:

[csharp] view plain copy
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.      WebUserControl11.Click += new EventHandler(WebUserControl11_Click);              
  4. }  
  5.   
  6. void WebUserControl11_Click(object sender, EventArgs e)  
  7. {  
  8.    TextBox1.Text =  new Random().Next(1000, 9999).ToString();  
  9. }  


到这,我们的示例就完成了,我们在aspx可以捕捉到用户控件的事件,做我们想做的事情了。

 

二、带有事件数据的示例

当然,有时候我们不仅想要在aspx页面捕捉到事件,还希望能获取到一些参数,这时候EventArgs就需要出场了

首先,新建一个web用户控件WebUserControl2.ascx

在页面上添加两个按钮,分别响应Click事件,如下:

[html] view plain copy
  1. <asp:Button ID="Button1" runat="server" Text="修改页面标题为编辑"   
  2.     onclick="Button1_Click" />  
  3. <asp:Button ID="Button2" runat="server" Text="修改页面标题为新增"   
  4.     onclick="Button2_Click" />  


C#代码,首先添加一个类ChangePageTitleEventArgs,用来传递事件数据,代码如下:

[csharp] view plain copy
  1. public class ChangePageTitleEventArgs : EventArgs  
  2. {  
  3.     public ChangePageTitleEventArgs(string title)  
  4.     {  
  5.         this.Title = title;  
  6.     }  
  7.   
  8.     public string Title  
  9.     {  
  10.         get;  
  11.         private set;  
  12.     }  
  13.   
  14. }  


然后我们来编写用户控件的后台代码:

[csharp] view plain copy
  1. public event EventHandler<ChangePageTitleEventArgs> ChangePageTitle;  
  2.   
  3. protected void Button1_Click(object sender, EventArgs e)  
  4. {  
  5.     ChangePageTitle(this,new ChangePageTitleEventArgs("编辑"));  
  6. }  
  7.   
  8. protected void Button2_Click(object sender, EventArgs e)  
  9. {  
  10.     ChangePageTitle(thisnew ChangePageTitleEventArgs("新增"));  
  11. }  


用户控件的代码就OK了,然后我们新建一个WebForm2.aspx页面,将用户控件添加到该页面

[csharp] view plain copy
  1. <%@ Register src="WebUserControl2.ascx" tagname="WebUserControl2" tagprefix="uc1" %>  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml" >  
  4. <head runat="server">  
  5.     <title></title>  
  6. </head>  
  7. <body>  
  8.     <form id="form1" runat="server">      
  9.         <uc1:WebUserControl2 ID="WebUserControl21" runat="server" />  
  10.     </form>  
  11. </body>  
  12. </html>  


编写后台代码,对用户控件的时间添加处理函数:

[csharp] view plain copy
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.     WebUserControl21.ChangePageTitle += new EventHandler<ChangePageTitleEventArgs>(WebUserControl21_ChangePageTitle);  
  4. }  
  5.   
  6. void WebUserControl21_ChangePageTitle(object sender, ChangePageTitleEventArgs e)  
  7. {  
  8.     this.Page.Title = e.Title;  
  9. }  


好了,很简单的我们就完成了代码,运行测试一下,效果如下:


该文章在 2017/5/27 17:49:35 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved