添加控件到页面?

时间:2011-05-08 07:24:19

标签: c# asp.net

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);
}

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

3 个答案:

答案 0 :(得分:2)

您还必须将Table控件本身添加到页面的表单中:

Page.Form.Controls.Add(tabl);

答案 1 :(得分:2)

您没有将控件添加到页面本身;)

controlContainer.Controls.Add(tabl);

会做的伎俩

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

重要提示:但是当您以这种方式添加控件时,您将进入一个令人担忧的区域。如果您打算使用postback按钮,这种方法将无法正常工作,如上所示。请注意/ google / bing条款为asp.net page-lifecycleviewstateeventwire control-id's等... a nice tutorial is here < / p>

答案 2 :(得分:1)

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

this.Controls.Add(tabl);

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