protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Label lblTest = new Label();
            lblTest.Text = "测试";
            Page.Controls.Add(lblTest);
        }
    }当页面点击了按钮他就不显示了
这是因为这里没有走!IsPostBack也就没有生成他但这样的话我每次都得写成protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {        }
        Label lblTest = new Label();
        lblTest.Text = "测试";
        Page.Controls.Add(lblTest);
    }不太符合我的书写习惯能不能有这样的功能protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Label lblTest = new Label();
            lblTest.Text = "测试";
            Page.Controls.Add(lblTest);
            ???? //在这里写入每一次重加载的时候添加这个控件,也就是让他保持状态
        }
    }
谢谢

解决方案 »

  1.   

     protected void Page_Init(object sender, EventArgs e)//用它
        {
            Label lblTest = new Label();
            lblTest.Text = "测试";
            Page.Controls.Add(lblTest);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
      

  2.   


    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Label lblTest = new Label();
                lblTest.Text = "测试";
                Page.Controls.Add(lblTest);
              }
            else
    {
     ???? //在这里写入每一次重加载的时候添加这个控件,也就是让他保持状态
    }
        }
      

  3.   

    而且,你在 Page_Load 中动态创建都已经不合适了,最好在 Init 中完成,确保每次都能执行!!!!
      

  4.   

    RE:
    但我写程序一般是这样的PageLoad()
    {
       if(!ispostback)
       {
          InitForm();
       }
    }void InitForm()
    {
       //我一般程序都会在这里写,所以动太加载控件一般也想写在这里 谢谢,
       //但写在这里没有办法保持
    }