私は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からいくつかのレコードを取得するメソッドへの呼び出しです。
私の問題は、パネルを最初に追加する方法だと思いますが、これは一意の名前を付ける簡単な方法のようです。
任意のポインタ?
ありがとうございました
これを投稿して以来、これを行うもっと良い方法は、ページ上に1つのパネルを作成し、必要に応じてパネルを作成し、コントロールを追加して元の静的パネルに追加することです。これはより適切なアプローチですか? – Curtis
<%Response.Write( "この行は、Panelコントロールによって生成されたDIV要素を作成しません.... –