就是想问个页面上控件的问题.
动态在页面上添加了控件protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                addMenu();
            }
            else
            {
                addMenu1();
            }
        }        private void addMenu()
        {
            Label lab = new Label();
            lab.ID = "jj";
            phMenu.Controls.Add(lab);
            lab.Text = "hah";            Label lab1 = new Label();
            lab1.ID = "jj1";
            lab1.Text = "hah2";
            phMenu.Controls.Add(lab1);        }        private void addMenu1()
        {
            Label lab = new Label();
            lab.ID = "jj";
            phMenu.Controls.Add(lab);            Label lab1 = new Label();
            lab1.ID = "jj1";
            phMenu.Controls.Add(lab1);        } 
代码是这样的.
然后运行页面
出现hahhah2然后添加个提交按钮,没有任何功能的
然后页面显示hah不显示hah2知道是添加顺序的问题
Label lab = new Label();
lab.ID = "jj";
phMenu.Controls.Add(lab);
lab.Text = "hah";Label lab1 = new Label();
lab1.ID = "jj1";
lab1.Text = "hah2";
phMenu.Controls.Add(lab1);想了解下具体是为什么..

解决方案 »

  1.   

    拜托,
    代码命名规范点好不好,
    label.ID分别用j1,j2,j3,j4不行吗?????
      

  2.   

    这涉及到视图状态的保存问题,之前调用了 phMenu.Controls.Add(lab); 因为继承了Controls控件,因为Controls控件默认继承了IStateManager接口,所以lab.ID = "jj";本身就有了视图跟踪功能,之后给其赋值就能保存上,另一个就不同了
      

  3.   

    然后添加个提交按钮,没有任何功能的
    然后页面显示hah不显示hah2
    我没看明白这个。
      

  4.   

    你看看它们生成的HTML就可以知道为什么啦Menu控件 treeview控件添加节点不是用label的把
    treeview肯定不是都不知道你想要什么效果