动态加载用户控件的订阅事件

本文关键字:事件 控件 加载 用户 动态 | 更新日期: 2023-09-27 18:12:38

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

在aspx页面中,我可以为静态用户控制编写如下代码。

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

但是动态加载控件的事件我无法得到

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

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

动态加载用户控件的订阅事件

假设类型的名称在文件名之后,您可以将它强类型为该类型,例如

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

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

myUserControl.MyEvent += MyEventHandler;

转换为控件类型

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