如:        DropDownList ddl = new DropDownList();
        this.Page.Controls.Add(ddl);如果只是这样的话肯定就“类型“DropDownList”的控件“XXX”必须放在具有 runat=server 的窗体标记内。 ”了
HowTo?

解决方案 »

  1.   

    你可能太马虎了,是“必须放在具有 runat=server 的窗体标记内”,注意“窗体”二字。因此,放在Page.Form.Controls内,或者放在某一个已经放在Form内的控件内。例如我们先在设计器上放一个PlaceHolder控件,然后把动态创建的控件放在它内部,这样你移动一组控件只需要移动PlaceHolder。
      

  2.   

    @sp1234
    果然,万分感谢.
    但为什么Lable可以?         Label lbl = new Label { Text "test" };
             this.Page.Controls.Add(lbl);
      

  3.   

    没什么悬念了.
    lable 可以放在 form 外。
    再次感谢。