Usercontrol回发在updatepanel中不起作用
我有一个包含更新面板的母版页:
然后我有Default.aspx页面使用母版页文件:
我以编程方式将usercontrols加载到id为plhCurrentItem的占位符中。
问题是当我单击usercontrol中的按钮时,没有事件触发。 用户控件刚刚消失,updatepanel保持空白。
我究竟做错了什么?
更新
用于添加用户控件的代码。 从Page_load事件调用LoadControls方法。
Control ctlCurrentItem = null; public string currentControl { get { return ((string)Session["currentControl"]); } set { Session["currentControl"] = value; } } public void LoadControls() { switch (currentControl) { case "Home": ctlCurrentItem = Page.LoadControl("~/pages/Home.ascx"); ctlCurrentItem.ID = "Home"; break; case "Resume": ctlCurrentItem = Page.LoadControl("~/pages/Resume.ascx"); ctlCurrentItem.ID = "Resume"; break; case "Projects": ctlCurrentItem = Page.LoadControl("~/pages/Projects.ascx"); ctlCurrentItem.ID = "Projects"; break; case "Contact": ctlCurrentItem = Page.LoadControl("~/pages/Contact.ascx"); ctlCurrentItem.ID = "Contact"; break; default: return; } plhCurrentItem.Controls.Clear(); plhCurrentItem.Controls.Add(ctlCurrentItem); }
将LoadControls调用放入页面生命周期的OnPreInt事件中:
将此事件用于以下事项:
- 检查IsPostBack属性以确定这是否是第一次处理页面。
- 创建或重新创建动态控件。
- 动态设置母版页。
- 动态设置Theme属性。
- 读取或设置配置文件属性值。