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;
    

        }
    			

     

     

  • 相关阅读:
    Git 生成 && 配置SSH key,配置多个SSH key
    Java异常处理机制:try...catch...的执行流程
    安防相机中的WDR技术
    静态库和动态库的编译链接和使用
    堆栈溢出检测机制
    使用vscode发布
    栈空间分配和栈对齐访问
    linux 查找文件夹下所有指定文件并重命名
    gdb使用小技巧-保存调试点现场
    mount共享文件夹出错,提示操作正在进行
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/835384.html
Copyright © 2011-2022 走看看