【问题标题】:Subscribing event of Dynamically Loaded User Control动态加载的用户控件的订阅事件
【发布时间】:2011-10-27 10:28:05
【问题描述】:

我有两个用户控件。一个是静态加载的,另一个是动态加载的。

在aspx页面中我可以为静态用户控件编写如下。

 ProgramAddSchedule.onNewProgram += new AddProgram.OnNewProgramClick(onNewProgram_btnHandler);

但动态加载控件的事件我无法获取

 Control myUserControl = (Control)Page.LoadControl("~/View/EditScheduleProgram.ascx");

如何获取动态加载控件的事件?

【问题讨论】:

    标签: c# asp.net .net vb.net user-controls


    【解决方案1】:

    假设类型名称跟在文件名称后面,您可以将其强类型化为该类型,这样,

    var myUserControl = Page.LoadControl("~/View/EditScheduleProgram.ascx") as EditScheduleProgram;
    

    然后,您可以访问由该类型公开的任何自定义(或特定)事件,但不能由 Control 公开,所以,

    myUserControl.MyEvent += MyEventHandler;
    

    【讨论】:

      【解决方案2】:

      转换为您的控件类型

       YourControlType myUserControl =(YourControlType)Page.LoadControl("~/View/EditScheduleProgram.ascx");
       myUserControl.onNewProgram += new AddProgram.OnNewProgramClick(onNewProgram_btnHandler);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 2010-11-08
        • 2012-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多