因为postback了。
You can using javascript to generate controsl.
or 
generate controls out of Page.IsPostBack when page loading.

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
         if(!IsPostBack == true)
         {
         }
         // 将你动态添加的控件代码放在这个位置,Postback后控件就不会消失了
    }
      

  2.   

    to add code into
    if(page.ispostback){}
    or if (!page.ispostback){}
    and how?
      

  3.   

    动态生成的当postback时会丢失。
    if(ispostBack)
    {
    动态添加的控件
    }
      

  4.   

    加在click里吗?
    这样的话原来'textbox'里输入的内容是不是就没有了
      

  5.   


    在按钮 click中用viewstate["txt"]将动态添加textbox的值保存,

    是放在page_load()中,
    if(ispostBack)
    {
    动态添加控件textbox1
    textbox1.text=viewstate["txt"].tostring()
    }
      

  6.   

    if(!Page.IsPostBack)
    {
    TableRow row=new TableRow();
    TableCell cell=new TableCell();
    cell.Attributes.Add("background","xiaoyoulupopup.gif");
             cell.Height=5;
    row.Controls.Add(cell);
    table.Controls.Add(row);
    }在page_load里面加上这一段话
      

  7.   

    上面是动态生成一个table
      

  8.   

    放在Page_Load事件中:
    private void Page_Load(object sender, System.EventArgs e)
    {
         if(!IsPostBack == true)
         {
         }
         // 将你动态添加的控件代码放在这个位置,Postback后控件就不会消失了
        textbox mytextbox = new textbox();
        mytextbox.ID = "mytextbox ";
        Page.Controls[1].Controls.Add(mytextbox );
    }
      

  9.   

    TextBox prj_next = new TextBox();
    prj_next.ID = "prj_next"+i;
    prj_next.Text = prj_next.ID;
    this.Ph_prj.Controls.Add(new LiteralControl("<td>"));
    this.Ph_prj.Controls.Add(prj_next);
    this.Ph_prj.Controls.Add(new LiteralControl("</td>"));我添加的代码的一部分是这样的,不知道要访问时时因该用prj_next 还是用prj_next+i
    但是好像用prj_next+i这样的方法访问不料,这样的话就只能保存一个控件