ASP:REPEATER |
ASP : Répéteur |
|---|---|
| ASP.NET | |
Syntaxe
|
<asp:Repeater paramètres> balises </asp:Repeater> |
Paramètres
| Paramètre | Description | ||
|---|---|---|---|
| ID=valeur | Ce paramètre permet d'indiquer l'identificateur de la balise. | ||
| runat=valeur | Ce paramètre permet d'indiquer où doit être exécuté la balise : | ||
| Constante | Description | ||
| "server" | Cette constante permet d'indiquer qu'il faut exécuter la balise du côté serveur. | ||
| ... | ... | ||
Description
Cette balise permet de définir une liste de contrôle à répétition comme dans le cas d'un tableau.
Remarques
- Le contrôle <asp:Repeater> permet d'afficher une liste de données répétitives sans ajouter de balisage HTML superflu. Il offre un contrôle total sur le rendu, car il ne génère pas automatiquement de tableau, de liste ou de mise en forme.
- Contrairement à des contrôles comme GridView ou DataList, le Repeater ne fournit pas de mise en forme intégrée. Cela donne à l'utilisateur un contrôle complet sur le balisage HTML et le design final.
- Le Repeater est idéal pour des scénarios où l'on souhaite afficher des collections de données (exemple : résultats de recherche, catalogues de produits) avec un style personnalisé et sans contraintes de structure.
- La source de données du Repeater peut être une liste, un tableau, un DataTable, ou toute collection IEnumerable. Il est lié via la propriété DataSource, puis affiché avec la méthode DataBind().
- Le Repeater utilise différents gabarits pour contrôler l'affichage : HeaderTemplate, ItemTemplate, AlternatingItemTemplate, SeparatorTemplate et FooterTemplate. Chacun de ces modèles peut être utilisé ou ignoré selon les besoins.
- ItemTemplate définit le contenu de base de chaque élément de la liste. AlternatingItemTemplate permet de spécifier une variante visuelle pour une ligne sur deux, utile pour améliorer la lisibilité.
- Le HeaderTemplate permet d'ajouter du contenu avant la répétition, comme un titre ou une ligne de tableau HTML. Le FooterTemplate permet d'ajouter du contenu à la fin, comme une note ou un bouton.
- Le SeparatorTemplate est utile pour insérer un séparateur visuel entre les éléments (comme un trait ou une bordure), sans avoir à l'ajouter dans chaque ItemTemplate.
- Les données liées dans les gabarits sont accessibles via la syntaxe <%# Eval("NomDuChamp") %>. Cela permet d'afficher dynamiquement le contenu de chaque élément de la source de données.
- La liaison (DataBind) peut être déclenchée manuellement dans le code-behind ou automatiquement si intégrée dans un contrôle parent comme un FormView ou UserControl chargé dynamiquement.
- Le contrôle Repeater est très léger et rapide à l'exécution, car il n'inclut aucun code inutile ou interface graphique additionnelle. Il est donc adapté pour des scénarios avec de grandes quantités de données.
- On peut capturer des événements comme ItemDataBound pour personnaliser dynamiquement chaque ligne du Repeater, par exemple en modifiant le texte ou en ajoutant des classes CSS conditionnelles.
- Grâce à sa flexibilité, le Repeater permet d'insérer n'importe quel type de contrôle serveur ou HTML à l'intérieur des gabarits. On peut ainsi créer des interfaces riches et complexes.
- La gestion des événements utilisateur est moins directe qu'avec GridView. Si on ajoute des boutons ou des liens dans les gabarits, il faut gérer manuellement les événements avec CommandName et CommandArgument.
- Comme tous les contrôles ASP.NET serveur, le Repeater nécessite l'attribut runat="server" pour fonctionner correctement. Cela permet son interaction avec le code-behind C# ou VB.NET.
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Samedi, le 31 août 2017