Panel-Steuerelemente können als Container für andere Steuerelemente auf einer Seite dienen. Es steuert das Erscheinungsbild und die Sichtbarkeit der darin enthaltenen Steuerelemente. Es ermöglicht auch eine generierte Steuerungsprogrammierung.
Die grundlegende Syntax von Panel-Steuerelementen lautet wie folgt:
<asp:Panel ID= "Panel1" runat = "server"></asp:Panel>
Panel-Steuerelemente werden von der WebControl-Klasse abgeleitet. Daher erbt es alle Eigenschaften, Methoden und Ereignisse gleichermaßen. Es verfügt über keine eigenen Methoden oder Ereignisse. Es verfügt jedoch über folgende eigene Eigenschaften:
Eigentum | beschreiben |
---|---|
BackImageUrl | Die Adresse des Panel-Hintergrundbilds. |
DefaultButton | Ruft den Bezeichner der im Panel-Steuerelement enthaltenen Standardschaltfläche ab oder legt diesen fest. |
Richtung | Die Richtung des Textes im Panel. |
Gruppierungstext | Ermöglicht die Gruppierung von Text als Feld. |
HorizontalAlign | Richtet den Inhalt im Panel horizontal aus. |
Bildlaufleisten | Gibt die Sichtbarkeit und Position der Bildlaufleisten innerhalb des Panels an. |
Wickeln | Text umbrechen lassen. |
Beginnen wir mit einem Scroll-Panel mit einer bestimmten Höhe und Breite und einem einfachen Rahmenstil. Die Eigenschaften der Bildlaufleiste sind auf zwei Bildlaufleisten eingestellt, sodass beide Bildlaufleisten gleichzeitig gerendert werden.
Die Quelldatei hat den folgenden Panel-Label-Code:
<asp:Panel ID="Panel1" runat="server" BorderColor="#990000" BorderStyle="Solid" Borderstyle="width:1px" Height="116px" ScrollBars="Both"> This is a scrollable panel. <br /> <br /> <asp:Button ID="btnpanel" runat="server" Text="Button" /></asp:Panel>
Das Panel sieht wie folgt aus:
Das folgende Beispiel demonstriert die dynamische Inhaltsgenerierung. Der Benutzer gibt die Anzahl der Beschriftungssteuerelemente und Textfelder an, die auf dem Bedienfeld generiert werden sollen. Steuerelemente werden programmgesteuert generiert.
Verwenden Sie das Fenster „Eigenschaften“, um die Panel-Eigenschaften zu ändern. Wenn Sie in der Entwurfsansicht ein Steuerelement auswählen, werden im Eigenschaftenfenster die Eigenschaften des jeweiligen Steuerelements angezeigt und Sie können diese ohne Eingabe ändern.
Die Quelldatei des Beispiels lautet wie folgt:
<form id="form1" runat="server"> <div> <asp:Panel ID="pnldynamic" runat="server" BorderColor="#990000" BorderStyle="Solid" Borderstyle="width:1px" Height="150px" ScrollBars="Auto" BackColor="#CCCCFF" Font-Names="Courier" HorizontalAlign="Center"> This panel shows dynamic control generation: <br /> <br /> </asp:Panel> </div> <table> <tr> <td>No of Labels:</td> <td> <asp:DropDownList ID="ddllabels" runat="server"> <asp:ListItem>0</asp:ListItem> <asp:ListItem>1</asp:ListItem> <asp:ListItem>2</asp:ListItem> <asp:ListItem>3</asp:ListItem> <asp:ListItem>4</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td>No of Text Boxes :</td> <td> <asp:DropDownList ID="ddltextbox" runat="server"> <asp:ListItem>0</asp:ListItem> <asp:ListItem Value="1"></asp:ListItem> <asp:ListItem>2</asp:ListItem> <asp:ListItem>3</asp:ListItem> <asp:ListItem Value="4"></asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <asp:CheckBox ID="chkvisible" runat="server" Text="Make the Panel Visible" /> </td> <td> <asp:Button ID="btnrefresh" runat="server" Text="Refresh Panel" /> </td> </tr> </table></form>
Der Quellcode des dynamisch generierten Steuerelements hinter dem Page_Load-Ereignis lautet:
public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { //make the panel visible pnldynamic.Visible = chkvisible.Checked; //generating the lable controls: int n = Int32.Parse(ddllabels.SelectedItem.Value); for (int i = 1; i <= n; i++) { Label lbl = new Label(); lbl.Text = "Label" + (i).ToString(); pnldynamic.Controls.Add(lbl); pnldynamic.Controls.Add(new LiteralControl("<br />")); } //generating the text box controls: int m = Int32.Parse(ddltextbox.SelectedItem.Value); for (int i = 1; i <= m; i++) { TextBox txt = new TextBox(); txt.Text = "Text Box" + (i).ToString(); pnldynamic.Controls.Add(txt); pnldynamic.Controls.Add(new LiteralControl("<br />")); } }}
Bei der Ausführung wird das Panel wie folgt gerendert: