ASP.NETで動的にコントロールを追加

Partial Class Default2
    Inherits System.Web.UI.Page

    '動的に配置するコントロール変数を定義
    Protected WithEvents txt_Test As System.Web.UI.WebControls.TextBox

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'コントロールをフォームに追加
        txt_Test = New TextBox()
        txt_Test.ID = "TextBox1"
        txt_Test.Style("Top") = "25px"
        txt_Test.Style("Left") = "100px"
        form1.Controls.Add(txt_Test)

    End Sub

End Class


Web フォームでコントロールを動的に作成する場合はPage_Ini、Page_Load イベントでコントロールを追加したほうがよい。
もし、他のイベントで追加した場合、コントロール挙動がおかしくなることがある。


動作確認環境:Visual Stadio 2005