以前曾经在哪位高手的blog上看到过动态增加控件可以通知页面保存这个控件的ViewState好象是IStateManager里的方法实现的具体怎么写的不记得了麻烦有知道的告知

解决方案 »

  1.   

    http://dotnet.chinaitlab.com/ASPNET/527045.html
      

  2.   

    1.构造之后马上加到controls集合里
    2.每次页面都把控件状态生成
    3.((istatemanager)control).trackviewstate();
      

  3.   

    发现一个很奇怪的问题在2005里只要页面load我就增加控件但是客户端输入的值我在服务器端能取到 protected void Page_Load(object sender, EventArgs e)
        {            TextBox tbox = new TextBox();
                tbox.Text = "测试";
                tbox.ID = "Txt1";
                this.Panel1.Controls.Add(tbox);
          
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox txt = (TextBox)Page.FindControl("Txt1");
            Response.Write(txt.Text);
        }
      

  4.   

    loadpostbackdata的原因,控件它在客户端生成的ID不变.
    如果这样就取不到了:
     protected void Page_Load(object sender, EventArgs e)
        {            TextBox tbox = new TextBox();
                tbox.Text = "测试";
                if(!page.ispostback)
                tbox.ID = "Txt1";
                else tbox.ID = "Txt2";
                this.Panel1.Controls.Add(tbox);
          
        }