我有两个用户控件。一个动态地静态加载。
在aspx页面中,我可以编写如下静态用户控件。
ProgramAddSchedule.onNewProgram += new AddProgram.OnNewProgramClick(onNewProgram_btnHandler);
但动态加载控件的事件我无法获取
Control myUserControl = (Control)Page.LoadControl("~/View/EditScheduleProgram.ascx");
如何获取动态加载控件的事件?
答案 0 :(得分:2)
转换为您的控件类型
YourControlType myUserControl =(YourControlType)Page.LoadControl("~/View/EditScheduleProgram.ascx");
myUserControl.onNewProgram += new AddProgram.OnNewProgramClick(onNewProgram_btnHandler);
答案 1 :(得分:2)
假设类型的名称遵循文件名,您可以将其强类型为该类型,例如,
var myUserControl = Page.LoadControl("~/View/EditScheduleProgram.ascx") as EditScheduleProgram;
然后您可以访问由该类型公开的任何自定义(或特定)事件,但不能访问Control
,因此,
myUserControl.MyEvent += MyEventHandler;