我有一個創建n個面板的中繼器。我正試圖動態地爲每個面板添加不同的控件。我很可能會以錯誤的方式去做這件事。如何動態地將控件添加到動態創建的面板?
我的代碼是或多或少:
的.aspx:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<% Response.Write("<asp:panel runat=\"server\" id=\"uxPanel_"); %>
<%# DataBinder.Eval(Container.DataItem, "TableId")%><% Response.Write("\"></asp:panel>"); %>
</ItemTemplate>
</asp:Repeater>
的.cs:
public partial class class1: System.Web.UI.Page
{
DataSet ds= null;
protected void Page_Load(object sender, EventArgs e)
{
GetRecords(1,1);
}
protected void GetRecords()
{
ds= dal.LoadRecords();
this.Repeater1.DataSource = ds.Tables[0];
this.Repeater1.DataBind();
Literal lit = new Literal();
lit.Text = "Some text";
this.FindControl("uxPanel_1").Controls.Add(lit);
}
}
只是要在這個例子中明確的「DAL。 LoadRecords「只是調用一個從DB中檢索某些記錄的方法。
我認爲我的問題是我如何在第一個地方添加我的面板,但這似乎是一個簡單的方法讓它們具有唯一的名稱。
任何指針?
謝謝
自發布以來,我開始認爲一個更好的方法是在我的頁面上創建一個面板,然後根據需要創建面板,向這些面板添加控件,然後將它們添加到原始靜態面板。這是更合適的方法嗎? – Curtis
<%Response.Write(「這一行當然不會創建由Panel控件生成的DIV元素.... –