设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

ASP.NET 2.0服务器控件之复合控件事件2

作者:佚名 出处:网络转载 时间:11-08 点击:

内容载入中...
     下面是为测试复合控件CompositeEvent而创建的Default.ASPx文件代码。
  
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.ASPx.cs" Inherits="_Default" %>
  <%@ ReGISter TagPrefix="Sample" Assembly="WebControlLibrary" Namespace="WebControlLibrary" %>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xHTML1/DTD/xHTML1-transitional.dtd">
  <script runat="server">
  void demo1_Submit(object sender, EventArgs e) {
    lbMessage.Text = "您刚才输入的是:" + demo1.Text;
  }
  </script>
  <HTML XMLns="http://www.w3.org/1999/xHTML">
  <head id="Head1" runat="server">
  <title>为复合控件实现事件-包含法</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <div>
  <Sample:CompositeEvent ID="demo1" runat="server" ButtonText="提交" OnSubmit="demo1_Submit" />
  <br />
  <ASP:Label ID="lbMessage" runat="server"></ASP:Label>
  </div>
  </form>
  </body>
  </HTML>
  
    示例效果如图1所示。
  
  
  图1 效果图
  
    在以上应用中,当用户单击"提交"按钮之后,将引发demo1_Submit处理程序的执行,由此显示文本框输入内容。
  
    需要读者注意的是其内部执行过程。控件定义的顶层事件是Submit,其对应事件处理程序是OnSubmit,而不是_button_Click。_button_Click是复合控件的子控件的Click事件处理程序。由于在控件实现的代码中定义了子控件的事件处理程序_button_Click,所以,当用户单击按钮后,将首先执行_button_Click,该方法要求调用顶层事件Submit的事件处理程序OnSubmit。从外部来看,子控件的事件即暴露为顶层事件。
  
    从以上实现过程来看,包含法使用的是程序代码上的小技巧来实现事件上传功能。下面介绍的冒泡法则与此不同,它使用.net框架提供的事件上传机制来完成子控件的事件上传。
  
  
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息