2011-07-08 60 views
0

我有一個自定義的用戶控件有一些Asp.net代碼。我想用C#編寫相同的代碼。 問題是,我不知道如何將轉發器和一些按鈕放入ContentTemplate中。ASP.net UpdatePanel動態使用C#代碼

的Asp.net代碼:

<asp:UpdatePanel runat="server" ID="up"> 

    <ContentTemplate> 

     <n2:Repeater ID="rpt" runat="server"> 
      <ItemTemplate></ItemTemplate> 
     </n2:Repeater> 

     <asp:LinkButton runat="server" ID="btnFirst" 
      Visible="false" Enabled="false" Text="<<" OnClick="btnFirst_Click" /> 

    </ContentTemplate> 

</asp:UpdatePanel> 

所以我怎麼會寫這個塊在C#代碼?確切地說,我怎樣才能將轉發器和Linkbutton插入到ContentTemplate中。

注意:我不想使用LoadTemplate來完成它。

編輯

我試圖ContentTemplateContainer.Controls.Add():

private UpdatePanel up = new UpdatePanel(); 
    private Repeater rpt = Repeater();; 

    public Paging{  

    //Add repeater to updatePanel 
    up.ContentTemplateContainer.Controls.Add(rpt); 


    AsyncPostBackTrigger apb3 = new AsyncPostBackTrigger(); 
    apb3.ControlID = "btnFirst"; 
    apb3.EventName = "Click"; 

    //Add Triggers to updatePanel 
    up.Triggers.Add(apb1); 

     //Create buttons 
     btnFirst = new LinkButton(); 
     btnFirst.Visible = false; 
     btnFirst.Enabled = false; 
     btnFirst.Text = "<<"; 
     btnFirst.Click += new EventHandler(btnFirst_Click); 

    //Add buttons to update panel 
     up.ContentTemplateContainer.Controls.Add(btnFirst); 

    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     rpt.ItemTemplate = LoadTemplate("~/UI/Templates/NewsEvent.ascx"); 
     .... 
    } 

我具有由上的Page_Load的第一行一個錯誤: 數據綁定方法如eval()函數,XPath()和Bind()只能用於包含在頁面中的控件。

這是NewsEvent.ascx:

<img src='<%# Eval("ImageThumbnail") %>' alt="" /> 
+0

正是你需要什麼?你有什麼嘗試? – VMAtm

+0

@VMAtm,請參閱編輯問題的一部分。 – Samidjo

+0

這個控件的NewsEvent.ascx有一些錯誤,您在使用數據庫連接的控件中使用了Eval或者bind方法。 –

回答

1

你不能用了Itemplate類型做到這一點...我有一個類似的問題,試圖在一個TabContainer的控制克隆一個tabpanel ......我已經有一個隱藏tabpanel和我想要做的是創建一個新的tabpanel,並基本實例化ITemplate從隱藏的新模板。

問題是ITemplate ...它不是非常動態的代碼後面的交互,我會建議把這個標記放在頁面上,因爲你已經有了,並設置visible = false的父母然後當你需要數據綁定和顯示隱藏面板。

獲得初始綁定工作是沒有問題的......它的回傳處理...

Ajax TabContainerTabPanels Break postbacks