动态创建的控件如何让它不重新创建一直存在,有办法实现吗?

解决方案 »

  1.   

    有办法让他不重新创建,但是必须每次pageload时要重新add。。对象还是一个,没有变public static int i = 0;
    public static Button btn = new Button() { Text="一直存在的按钮" + i.ToString(),Width=180};protected void Page_Load(object sender, EventArgs e)
    {
         form1.Controls.Add(btn);
         i++;
    }
      

  2.   

    这个问题很常见,可以用状态保存,创建控件时要注意controls.add与绑定数据的顺序
      

  3.   

    知道可以用状态保存 我也用了IPostBackDataHandler来处理了 数据状态都可以保存,但加载爷面还是要重新New,和指定ID 很烦 想问问有没有别的办法,还有我不会只固定创建1个控件,会因为点击和选取创建其他的控件.问下各位大牛,有没有好的办法
      

  4.   


    客戶端 前臺動態 創建 html 控件。
    異步 調用獲取 後臺數據 根據需要 動態顯示。
      

  5.   

    我NEW的也是我自己写的控件如TABLE DROPDOWNLIST 等
      

  6.   

    提供一个创建单例的方法,但是不足之处就是没法根据传入id来判断是否新创建控件,本人才疏学浅。。
    public class Singleton<T>
    {
        private static T instance;    public static T Instance() 
        {
            if (instance == null) 
            {
                instance = Activator.CreateInstance<T>();
            } 
            return instance; 
        }
    }
    使用:protected void Page_Load(object sender, EventArgs e)
    {
         Button btn = Singleton<Button>.Instance();
         btn.id="xxx";
         btn.width=xxx;
         TextBox tb = Singleton<TextBox>.Instance();
         tb.id="xxx";
         tb.width=xxx;     this.form1.Controls.Add(btn);
         this.form1.Controls.Add(tb);
    }