私はいくつかの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="" />
正確にあなたが何を必要とする...仕事に最初のバインドが...そのポストバック処理の問題ではありません取得?何を試しましたか? – VMAtm
@ VMAtm、質問の編集部分をご覧ください。 – Samidjo
NewsEvent.ascxこのコントロールにはエラーがあり、データベース接続に使用されているコントロールでは、Evalメソッドまたはバインドメソッドが使用されています。 –