2009-10-19 78 views
2

不工作我有一個更新面板的母版:用戶控件回發的UpdatePanel中

<asp:UpdatePanel ID="UpdatePanel" runat="server" ChildrenAsTriggers="true" EnableViewState="False" 
       UpdateMode="Conditional"> 
       <ContentTemplate> 
        <div id="mainContent"> 
         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
         </asp:ContentPlaceHolder> 
        </div> 
       </ContentTemplate> 
       <Triggers> 
       </Triggers> 
      </asp:UpdatePanel> 

然後,我有Default.aspx頁面,它使用了母版文件:

<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> 
<asp:PlaceHolder ID="plhCurrentItem" runat="server"></asp:PlaceHolder> 
</asp:Content> 

我編程用戶控件加載到id爲plhCurrentItem的佔位符。

問題是當我點擊usercontrol中的按鈕時,沒有事件觸發。 usercontrol會消失,並且updatepanel保留爲空。

我在做什麼錯?


更新

代碼用於添加用戶控件。 LoadControls方法是從Page_load事件中調用的。

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); 


} 
+0

你是如何以編程方式加載usercontrols的?哪個事件? – DavidGouge 2009-10-19 15:45:34

+0

在頁面加載事件 – 2009-10-19 15:47:23

+0

啊,page_Load,請與_rick_schott的答案。 :D – DavidGouge 2009-10-19 16:40:58

回答

2

認沽LoadControls調用從page life-cycleOnPreInt事件:

使用此事件的以下內容:

  • 檢查IsPostBack屬性,以確定這是否是第一次頁面正在處理。
  • 創建或重新創建動態控件。
  • 動態設置母版頁。
  • 動態設置主題屬性。
  • 讀取或設置配置文件屬性值。
相關問題