知识大全 ASP.NET用户控件操作ASPX页面

Posted

篇首语:事常与人违,事总在人为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET用户控件操作ASPX页面相关的知识,希望对你有一定的参考价值。

ASP.NET用户控件操作ASPX页面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 简单实例

  先来个简单点的 首先新建一个 web用户控件 WebUserControl ascx

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

  [csharp] <asp:Button ID= Button runat= server Text= 在页面级的TextBox输入一个随机数 onclick= Button _Click /> <asp:Button ID= Button runat= server Text= 在页面级的TextBox输入一个随机数 onclick= Button _Click />

  然后编写后台代码

  [csharp] //定义一个不含数据的事件处理方法  public event EventHandler Click;  protected void Button _Click(object sender EventArgs e)      Click(this EventArgs Empty);                      //定义一个不含数据的事件处理方法        public event EventHandler Click;

  protected void Button _Click(object sender EventArgs e)                    Click(this EventArgs Empty);                  

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

  [] <%@ Register src= WebUserControl ascx tagname= WebUserControl tagprefix= uc %> <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd > < xmlns= > <head runat= server >     <title></title> </head> <body>     <form id= form runat= server >     <div>             <asp:TextBox ID= TextBox runat= server ></asp:TextBox>         <br />         <uc :WebUserControl ID= WebUserControl runat= server />         </div>     </form> </body> </> <%@ Register src= WebUserControl ascx tagname= WebUserControl tagprefix= uc %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >< xmlns= ><head runat= server >    <title></title></head><body>    <form id= form runat= server >    <div>           <asp:TextBox ID= TextBox runat= server ></asp:TextBox>        <br />        <uc :WebUserControl ID= WebUserControl runat= server />       </div>    </form></body></>

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

  [csharp] protected void Page_Load(object sender EventArgs e)       WebUserControl Click += new EventHandler(WebUserControl _Click);               void WebUserControl _Click(object sender EventArgs e)     TextBox Text =  new Random() Next( ) ToString();          protected void Page_Load(object sender EventArgs e)                     WebUserControl Click += new EventHandler(WebUserControl _Click);                  

  void WebUserControl _Click(object sender EventArgs e)                   TextBox Text =  new Random() Next( ) ToString();       

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

  

  二 带有事件数据的示例

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

  首先 新建一个web用户控件WebUserControl ascx

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

  [] <asp:Button ID= Button runat= server Text= 修改页面标题为编辑       onclick= Button _Click /> <asp:Button ID= Button runat= server Text= 修改页面标题为新增       onclick= Button _Click /> <asp:Button ID= Button runat= server Text= 修改页面标题为编辑     onclick= Button _Click /><asp:Button ID= Button runat= server Text= 修改页面标题为新增     onclick= Button _Click />

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

  [csharp] public class ChangePageTitleEventArgs : EventArgs      public ChangePageTitleEventArgs(string title)              this Title = title;           public string Title              get;         private set;            public class ChangePageTitleEventArgs : EventArgs            public ChangePageTitleEventArgs(string title)                    this Title = title;       

  public string Title                    get;            private set;       

  

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

  [csharp] public event EventHandler<ChangePageTitleEventArgs> ChangePageTitle;  protected void Button _Click(object sender EventArgs e)      ChangePageTitle(this new ChangePageTitleEventArgs( 编辑 ));   protected void Button _Click(object sender EventArgs e)      ChangePageTitle(this new ChangePageTitleEventArgs( 新增 ));          public event EventHandler<ChangePageTitleEventArgs> ChangePageTitle;

  protected void Button _Click(object sender EventArgs e)                    ChangePageTitle(this new ChangePageTitleEventArgs( 编辑 ));       

  protected void Button _Click(object sender EventArgs e)                    ChangePageTitle(this new ChangePageTitleEventArgs( 新增 ));       

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

  [csharp] <%@ Register src= WebUserControl ascx tagname= WebUserControl tagprefix= uc %> <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd > < xmlns= > <head runat= server >     <title></title> </head> <body>     <form id= form runat= server >             <uc :WebUserControl ID= WebUserControl runat= server />     </form> </body> </> <%@ Register src= WebUserControl ascx tagname= WebUserControl tagprefix= uc %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >< xmlns= ><head runat= server >    <title></title></head><body>    <form id= form runat= server >           <uc :WebUserControl ID= WebUserControl runat= server />    </form></body></>

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

  [csharp] protected void Page_Load(object sender EventArgs e)      WebUserControl ChangePageTitle += new EventHandler<ChangePageTitleEventArgs>(WebUserControl _ChangePageTitle);   void WebUserControl _ChangePageTitle(object sender ChangePageTitleEventArgs e)      this Page Title = e Title;          protected void Page_Load(object sender EventArgs e)                    WebUserControl ChangePageTitle += new EventHandler<ChangePageTitleEventArgs>(WebUserControl _ChangePageTitle);       

  void WebUserControl _ChangePageTitle(object sender ChangePageTitleEventArgs e)                    this Page Title = e Title;       

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

cha138/Article/program/net/201311/13962

相关参考

知识大全 ASP.NET中遍历页面的所有button控件

ASP.NET中遍历页面的所有button控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!通用代

知识大全 在ASP.NET 2.0中使用页面导航控件

在ASP.NET2.0中使用页面导航控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  几乎每个

知识大全 基于asp.net的web页面动态控件创建以及使用

 摘要web设计中有很多场合页面的控件要动态创建甚至只能动态创建这样可以增加页面的灵活性但是给程序员带来了一些麻烦比如要使用动态创建的控件怎么使用都是要求解决的问题本文基于aspnet简要介绍了页面的

知识大全 ASP.NET取得页面事件的发生源控件ID

ASP.NET取得页面事件的发生源控件ID  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  需求A

知识大全 怎样在ASP.NET中创建用户控件

怎样在ASP.NET中创建用户控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文介绍如何在

知识大全 Asp.net 用户控件添加自定义事件

Asp.net用户控件添加自定义事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 使用ASP.NET中的用户控件[2]

使用ASP.NET中的用户控件[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 使用ASP.NET中的用户控件[3]

使用ASP.NET中的用户控件[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 使用ASP.NET中的用户控件[1]

使用ASP.NET中的用户控件[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 ASP.NET入门教程 10.6 用户控件

ASP.NET入门教程10.6用户控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &