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

时间:2011-10-27 10:28:05

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

我有两个用户控件。一个动态地静态加载。

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

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

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

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

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

2 个答案:

答案 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;