Panel Web サーバー コントロール

他のコントロールのコンテナとして機能します。このコントロールは、HTML <div> 要素として出力されます。

<asp:Panelid="Panel1"      BackImageUrl="url"     HorizontalAlign="Center|Justify|Left|NotSet|Right"      Wrap="True|False"     runat="server">   (Other controls declared here)</asp:Panel>

解説

Panel コントロールは、他のコントロールのコンテナです。プログラムによってコントロールを生成するときや、コントロールのグループを表示および非表示にするときに特に便利です。BackImageUrl プロパティを設定して、Panel コントロールの背景にイメージを表示できます。HorizontalAlignment プロパティを使用して、コントロールに含まれる項目の水平方向の配置を指定できます。Wrap プロパティを使用して、行の長さがパネルの幅よりも長くなった場合に、コントロールの項目を自動的に改行するかどうかを決定します。

Panel Web サーバー コントロールのプロパティとイベントの詳細については、Panel クラスのドキュメントを参照してください。

Panel コントロールを使用して、コントロールのグループを表示および非表示にする方法を次の例に示します。

<%@ 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>

参照

Web サーバー コントロール | Panel クラス