你的textbox是放在什么容器中的,没有的话可以在form里面加一个PlaceHolder,把textbox放在placeholder里面。我在
http://expert.csdn.net/Expert/topic/2477/2477388.xml?temp=.7038538
里面有一段代码,你拷出来试试。我做了一些修改。在该帖子的后面有说明。

解决方案 »

  1.   

    Control '0' of type 'TextBox' must be placed inside a form tag with runat=server
    哦!不是告诉你了,需要把textbox控件放置到<form runat=server>标签中。
      

  2.   

    TextBox必须放在runat=server标志的标签中。
    改用
    for(int i = 0; i < 5; i ++)
    {
    HtmlInputText hit = new HtmlInputText();
    hit.ID = i.ToString();
             hit.Name = i.ToString();
    Page.Controls.Add(hit);
    }
      

  3.   

    或者,加一个表格 把一个<TD>加上id=Ctr_ID和runat=server
    for(int i = 0; i < 5; i ++)
    {
    TextBox tb = new TextBox();
    tb.ID = i.ToString();
    Ctr_TD.Controls.Add(tb);
    }
      

  4.   

    TextBox tb = new TextBox();
    tb.ID = i.ToString();
    // you try 
             Controls[0].Add(tb);
             //