zoukankan      html  css  js  c++  java
  • 用户控件使用事件与调用页面交互

    1.定义事件参数类

    using System;

     

    namespace ASPNetCookbook.CSExamples

    {

    /// <summary>

    /// This class provides the definition of the custom event arguments used

    /// as the event arguments for the message sent from this control. This

    /// class simply inherits from System.EventArgs and adds a message property.

    /// </summary>

    public class MessageEventArgs

    {

    private String mMessage;

     

        /// <summary>

        /// This property provides the ability to get/set the message in the

        /// event args

        /// </summary>

        public String message

        {

         get

         {

            return (mMessage);

         }

     

         set

         {

         mMessage = value;

         }

        } // message

    } // MessageEventArgs

    }

    2.定义控件代码

    Test.ascx

    <asp:Button ID="btnSendMessage" runat="server"
    

                   Text="Send Message"
    

                   OnClick="btnSendMessage_Click" />
    

     

    Text.ascx.cs
    

    using System;
    

     

    namespace ASPNetCookbook.CSExamples
    

    {
    

        /// <summary>
    

        /// This class provides the code-behind for
    

        /// CH05UserControlCommSourceCS.ascx
    

        /// </summary>
    

        public partial class CH05UserControlCommSourceCS : System.Web.UI.UserControl
    

        {
    

          // define the delegate handler signature and the event that will be raised
    

          // to send the message
    

          public delegate void customMessageHandler(Object sender,
    

                                        MessageEventArgs e);
    

          public event customMessageHandler OnSend;
    			

     

     

          ///***********************************************************************
    

          /// <summary>
    

          /// This routine provides the event handler for the send message button
    

          /// click event. It creates a new MessageEventArgs object then raises
    

          /// an OnSend event
    

          /// </summary>
    

          ///
    

          /// <param name="sender">Set to the sender of the event</param>
    

          /// <param name="e">Set to the event arguments</param>
    

          protected void btnSendMessage_Click(object sender,
    

                                            EventArgs e)
    

          {
    

            MessageEventArgs messageArgs = new MessageEventArgs();
    

            messageArgs.message = "This message came from the source user control";
    

     

            if (OnSend != null)
    

            {
    

              OnSend(this, messageArgs);
    

            }
    

         }  // btnSendMessage_Click
    			

       }  // CH05UserControlCommSourceCS
    

    }
    

    调用页面调用
    

     

    Test.aspx
    

     

    <asp:lable id="labMessage" runat="server"/>
    

    <table width="60%" align="center" border="0">
    

              <tr>
    

                <td class="PageHeading">
    

                  Source User Control:
    

                </td>
    

              </tr>
    

          <tr>
    

             <td bgcolor="#ffffcc" align="center" height="75">
    

                 <ASPCookbook:SourceControl id="ucSource" runat="server" />
    			

             </td>
    

          </tr>
    

    </table>
    

     

    Test.aspx.cs

     

    protected void Page_Load(object sender, EventArgs e)
    

        {
    

    //在调用页面中挂接控件事件      
    

    ucSource.OnSend +=
    

      new CH05UserControlCommSourceCS.customMessageHandler(this.updateLabel);
    

        }
    

     

    private void updateLabel(Object sender,
    

                        MessageEventArgs e)
    

        {
    

        // update the label with the message in the event arguments
    

        labMessage.Text = e.message;
    

        }
    			

     

     

  • 相关阅读:
    10-02 青蛙跳台阶(斐波那契数列的应用)
    10-01 斐波那契数列
    08 二叉树的下一个节点
    07 重建二叉树
    Java中如何调用静态方法
    Java中如何调用静态方法
    Java方法调用数组,是否改变原数组元素的总结
    Java方法调用数组,是否改变原数组元素的总结
    JAVA中,一个类中,方法加不加static的区别,
    JAVA中,一个类中,方法加不加static的区别,
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/835383.html
Copyright © 2011-2022 走看看