ASP.NET 2.0服务器控件之复合控件事件2
点击次数:30 次 发布日期:2008-11-26 12:18:39 作者:源代码网
|
源代码网推荐 源代码网推荐 <%@ 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框架提供的事件上传机制来完成子控件的事件上传。 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
