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属性。
  • 读取或设置配置文件属性值。