1

asp.netに1つのユーザーコントロールがあります。実行時に別のテーブルの単一のWebページにユーザーコントロールを複数回追加したいだけです。これを行う方法?

ありがとう

4

3 に答える 3

4

Page.LoadControlメソッドを使用して、ユーザーコントロールインスタンスを動的に作成し、次のように親コントロールに追加します。

var uc = Page.LoadControl("~/uc.ascx");
this.Panel1.Controls.Add(uc);

ページがポストバックするたびに、UC、fyiを再作成する必要があります。

于 2011-06-28T13:22:41.583 に答える
1
Dim tbl As New Table
Dim tr1 As New TableRow
tbl.Rows.Add(tr1)
Dim td1 As New TableCell
tr1.Cells.Add(td1)
Dim ctl As New CustomControl
ctl.Text = "Toto"
td1.Controls.Add(ctl)

これは、.net 1.1で機能していた古いコードですが、引き続き機能するはずです。

于 2011-06-28T13:25:01.433 に答える
1

作成された各コントロールを参照できるように、各コントロールに一意のIDを割り当てる必要があります。

  Dim tempUserControl As UserControl
    tempUserControl = Page.LoadControl("~/UserControl1.ascx")
    tempUserControl.ID = "uniquename1"
    testPanel.Controls.Add(tempUserControl)
    tempUserControl = Page.LoadControl("~/UserControl1.ascx")
    tempUserControl.ID = "uniquename2"
    testPanel.Controls.Add(tempUserControl)

その後、後のポストバックでコントロールにアクセスできます。

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim tempUserControl As WebUserControl1
    tempUserControl = testPanel.FindControl("uniquename1")
End Sub
于 2011-06-28T15:27:37.143 に答える