Panel控件的使用 Panel 控件是其他控件的容器。如果打算以编程方式生成多个控件或者打算隐藏/显示一组控件,此控件尤其有用。 下例说明如何使用 Panel 控件以编程方式生成控件和隐藏/显示一组控件。 <%@ Page Language="C#" %> <html> <head> <script runat="server"> void Page_Load(Object sender, EventArgs e) { // Show or hide the Panel contents. if (Check1.Checked) { Panel1.Visible=false; } else { Panel1.Visible=true; } // Generate the Label controls. int numlabels = Int32.Parse(DropDown1.SelectedItem.Value); for (int i=1; i<=numlabels; i++) { Label l = new Label(); l.Text = "Label" + (i).ToString(); l.ID = "Label" + (i).ToString(); Panel1.Controls.Add(l); Panel1.Controls.Add(new LiteralControl("<br>")); } // Generate the Textbox controls. int numtexts = Int32.Parse(DropDown2.SelectedItem.Value); for (int i=1; i<=numtexts; i++) { TextBox t = new TextBox(); t.Text = "TextBox" + (i).ToString(); t.ID = "TextBox" + (i).ToString(); Panel1.Controls.Add(t); Panel1.Controls.Add(new LiteralControl("<br>")); } } </script> </head> <body> <h3>Panel Example</h3> <form runat=server> <asp:Panel id="Panel1" runat="server" BackColor="gainsboro" Height="200px" Width="300px"> Panel1: Here is some static content... <p> </asp:Panel> <p> Generate Labels: <asp:DropDownList id=DropDown1 runat="server"> <asp:ListItem Value="0">0</asp:ListItem> <asp:ListItem Value="1">1</asp:ListItem> <asp:ListItem Value="2">2</asp:ListItem> <asp:ListItem Value="3">3</asp:ListItem> <asp:ListItem Value="4">4</asp:ListItem> </asp:DropDownList> <br> Generate TextBoxes: <asp:DropDownList id=DropDown2 runat="server"> <asp:ListItem Value="0">0</asp:ListItem> <asp:ListItem Value="1">1</asp:ListItem> <asp:ListItem Value="2">2</asp:ListItem> <asp:ListItem Value="3">3</asp:ListItem> <asp:ListItem Value="4">4</asp:ListItem> </asp:DropDownList> <p> <asp:CheckBox id="Check1" Text="Hide Panel" runat="server"/> <p> <asp:Button Text="Refresh Panel" runat="server"/> </form> </body> </html> codebehind和把代码写在aspx中是完全等价的.你也可以把其中的代码部分放在aspx.cs中而不必做任何改动. 可以参考MSDN的快速入门中关于panel的例子: ms-help://MS.VSCC/MS.MSDNVS.2052/Cpqstart/html/cpsmpnetsamples-aspnetservercontrolreference.htm#cpsmppanel1sample 例子主要是说明panel的两个用法:显示隐藏和向容器中添加删除控件 1.显示:Panel1.Visible=true; 隐藏:Panel1.Visible=false; 这样,所有panel容器的控件都会同是显示或隐藏. 2.添加/删除 向容器添加控件: TextBox t = new TextBox(); t.Text = "TextBox1"; t.ID = "TextBox1"; Panel1.Controls.Add(t); 添加HTML脚本: Panel1.Controls.Add(new LiteralControl("<br/>")); 删除: this.Panel1.Controls.Remove(TextBox1);