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>