Les contrôles du panneau peuvent servir de conteneurs pour d’autres contrôles sur une page. Il contrôle l'apparence et la visibilité des contrôles qu'il contient. Il permet également la programmation de contrôle généré.
La syntaxe de base des contrôles du panneau est la suivante :
<asp:Panel ID= "Panel1" runat = "server"></asp:Panel>
Les contrôles Panel dérivent de la classe WebControl. Par conséquent, il hérite de manière égale de toutes les propriétés, méthodes et événements. Il ne possède aucune méthode ni événement propre. Cependant, il possède les propriétés suivantes qui lui sont propres :
propriété | décrire |
---|---|
RetourImageUrl | L'adresse de l'image d'arrière-plan du panneau. |
Bouton par défaut | Obtient ou définit l'identifiant du bouton par défaut contenu dans le contrôle Panel. |
Direction | La direction du texte dans le panneau. |
RegroupementTexte | Autoriser le regroupement du texte sous forme de champ. |
Alignement horizontal | Aligne le contenu du panneau horizontalement. |
Barres de défilement | Spécifie la visibilité et la position des barres de défilement dans le panneau. |
Envelopper | Autoriser le retour à la ligne du texte. |
Commençons par un panneau de défilement avec une hauteur et une largeur spécifiques et un style de bordure simple. Les propriétés de la barre de défilement sont définies sur deux barres de défilement, de sorte que les deux barres de défilement sont rendues en même temps.
Le fichier source comporte le code d'étiquette de panneau suivant :
<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>
Le panneau apparaît comme suit :
L'exemple suivant illustre la génération de contenu dynamique. L'utilisateur fournit le nombre de contrôles d'étiquette et de zones de texte à générer sur le panneau. Les contrôles sont générés par programme.
Utilisez la fenêtre Propriétés pour modifier les propriétés du panneau. Lorsque vous sélectionnez un contrôle en mode Création, la fenêtre Propriétés affiche les propriétés du contrôle spécifique et vous permet de les modifier sans avoir à taper.
Le fichier source de l'exemple est le suivant :
<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>
Le code source du contrôle généré dynamiquement derrière l'événement Page_Load est :
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 />")); } }}
Une fois exécuté, le panneau s'affiche comme :