动态加载用户控件的订阅事件
本文关键字:事件 控件 加载 用户 动态 | 更新日期: 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);