我有一個自定義的用戶控件有一些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="" />
正是你需要什麼?你有什麼嘗試? – VMAtm
@VMAtm,請參閱編輯問題的一部分。 – Samidjo
這個控件的NewsEvent.ascx有一些錯誤,您在使用數據庫連接的控件中使用了Eval或者bind方法。 –