Panel Web Server Control
This page is specific to:.NET Framework Version:1.12.03.03.54.0
.NET Framework General Reference
Panel Web Server Control

Provides a container for other controls. This control is rendered as an HTML <div> element.

<asp:Panel id="Panel1" 
     BackImageUrl="url"
     HorizontalAlign="Center|Justify|Left|NotSet|Right" 
     Wrap="True|False"
     runat="server">

   (Other controls declared here)

</asp:Panel>

Remarks

The Panel control is a container for other controls. It is especially useful for generating controls programmatically and displaying and hiding groups of controls. You can display an image in the background of the Panel control by setting the BackImageUrl property. Using the HorizontalAlignment property, you can specify the horizontal alignment of the items contained in the control. The Wrap property lets you determine whether items in the control automatically continue on the next line when a line is longer than the width of the panel.

For detailed information on the Panel Web server control's properties and events, see the Panel Class documentation.

Example

The following example demonstrates how to use a Panel control to display and hide a group of controls.

<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">
      Sub Page_Load(sender As Object, e As EventArgs)
         ' Show/Hide Panel Contents
         If Check1.Checked Then
            Panel1.Visible = False
         Else
            Panel1.Visible = True
         End If
        
         ' Generate label controls
         Dim numlabels As Integer = Int32.Parse(DropDown1.SelectedItem.Value)
         Dim i As Integer
         For i = 1 To numlabels
            Dim l As New Label()
            l.Text = "Label" + i.ToString()
            l.ID = "Label" + i.ToString()
            Panel1.Controls.Add(l)
            Panel1.Controls.Add(New LiteralControl("<br>"))
         Next i
        
         ' Generate textbox controls.
         Dim numtexts As Integer = Int32.Parse(DropDown2.SelectedItem.Value)
         For i = 1 To numtexts
            Dim t As New TextBox()
            t.Text = "TextBox" & i.ToString()
            t.ID = "TextBox" & i.ToString()
            Panel1.Controls.Add(t)
            Panel1.Controls.Add(New LiteralControl("<br>"))
         Next i
      End Sub
   </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>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         // Show/Hide Panel Contents.
         if (Check1.Checked) 
         {
            Panel1.Visible=false;
         }
         else 
         {
            Panel1.Visible=true;
         }
 
         // Generate 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 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>

See Also

Web Server Controls | Panel Class

© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View