我有一个aspx网页,其中动态添加了用户控件,如下所示:
UserControl testUsrControl = LoadControl("TestUsrControl") as UserControl;
testUsrControl.ID ="test";
然后我尝试在aspx中添加一个用户控件的事件处理程序,如下所示:
testUsrControl.Drpdatafield_SelectIndexChanged += new EventHandler(this.Drpdatafield_SelectIndexChanged);
但这行在** testUsrControl.Drpdatafield_SelectIndexChanged **中给出错误。 UserControl中不存在错误“Drpdatafield_SelectIndexChanged
”。
如何动态地在aspx页面中获取testUsrControl的事件。
谢谢, 鲁帕
答案 0 :(得分:2)
您需要将控件转换为正确的类型(比如MyUserControlType),然后验证它是否正常
MyUserControlType testUsrControl = LoadControl("TestUsrControl") as MyUserControlType;
if(testUsrControl != null {
testUsrControl.Drpdatafield_SelectIndexChanged += new EventHandler(this.Drpdatafield_SelectIndexChanged)
}
您从usercontrol标记文件中获取ClassName的类型
<% @ Control Language="C#" ClassName="MyUserControlType" %>