2011-07-08 5 views
0

私はいくつかのAsp.netコードを持つカスタムのusercontrolを持っています。同じコードをC#で書いてみたいと思います。 問題は、リピーターといくつかのボタンをContentTemplateに配置する方法がわかりません。C#コードを使用してASP.net UpdatePanelを動的に

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#のコードでは、このチャンクを書くことができますか?正確には、どのようにContentTemplateにリピータとLinkbuttonを挿入できますか?

注:LoadTemplateを使用しないでください。

編集

Iは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"); 
     .... 
    } 

I持たをPage_Loadの最初の行に起因する誤差:そのような評価として データバインディング方法() 、XPath()、およびBind()は、ページに含まれるコントロールでのみ使用できます。

これはNewsEvent.ascxです:

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

正確にあなたが何を必要とする...仕事に最初のバインドが...そのポストバック処理の問題ではありません取得?何を試しましたか? – VMAtm

+0

@ VMAtm、質問の編集部分をご覧ください。 – Samidjo

+0

NewsEvent.ascxこのコントロールにはエラーがあり、データベース接続に使用されているコントロールでは、Evalメソッドまたはバインドメソッドが使用されています。 –

答えて

1

あなたはITemplateタイプでこれを行うカント...私はタブコンテナコントロールのタブパネルのクローンを作成しようとしている同様の問題を持っていた...私はすでに隠されていましたタブパネルと私がしたいのは、新しいタブパネルを作成し、基本的に新しいものの隠しものからITemplateをインスタンス化することでした。

問題はITemplate ...インタラクションのコードの背後にあるコードではあまり動的ではありません私はあなたが既に持っているようにマークアップをページに置き、親にvisible = falseを設定してからデータバインドし、パネル。

Ajax TabContainerTabPanels Break postbacks

関連する問題