向页面添加控件

本文关键字:控件 添加 | 更新日期: 2023-09-27 17:55:58

protected void Page_Load(object sender, EventArgs e)
{
    Button quote = new Button();
    Button reply = new Button();
    Button edit = new Button();
    Label UsersMessage = new Label();
    UsersMessage.Text = "Users Message: question was submitted";

    Table tabl = new Table();
    TableRow tablRow=new TableRow();
    TableCell tablCell=new TableCell();

    tablCell.Controls.Add(quote);
    tablCell.Controls.Add(reply);
    tablCell.Controls.Add(edit);
    tablCell.Controls.Add(UsersMessage);
    tablRow.Cells.Add(tablCell);
    tabl.Rows.Add(tablRow);
}

我正在尝试添加一个带有行的表格、带有按钮的单元格和标签。为什么当我启动页面时没有添加任何内容?(当我查看它时,源代码中没有任何添加内容)

向页面添加控件

还必须将Table控件本身添加到页面的窗体中:

Page.Form.Controls.Add(tabl);

不会将控件添加到页面本身;)

controlContainer.Controls.Add(tabl);

会做这个伎俩

其中controlContainer是在 ASPX 上创建的控件,如asp:placeholderasp:panel。通过这种方式,您可以定义控件必须以特定方式显示的位置。

重要提示:但是,当您以这种方式添加控件时,您将进入一个令人担忧的区域。如果您打算使用按钮进行postback则此方法将无法如上所示。请注意/谷歌/必应术语为 asp.net page-lifecycleviewstateeventwire control-id's等...一个很好的教程在这里

您没有将表添加到页面控件集合。

this.Controls.Add(tabl);

或者,如果您有要将表添加到的特定控件,请使用该控件。