Le contrôle Repeater correspond à une liste modélisée liée aux données. Comme il n'intègre pas de dispositions ni de styles intégrés, vous devez explicitement déclarer toutes les balises de présentation, de mise en forme et de style au sein des modèles du contrôle.
Le contrôle Repeater est le seul contrôle Web qui vous permet de fractionner des balises d'un modèle à un autre. Pour créer un tableau à l'aide de modèles, insérez une balise de début de tableau <table>) dans la propriété HeaderTemplate, une balise de ligne de tableau simple (<tr>) dans la propriété ItemTemplate et une balise de fin de tableau (</table>) dans la propriété FooterTemplate.
Le contrôle Repeater ne possède pas de fonctionnalité de sélection ni de prise en charge de l'édition. Vous pouvez utiliser l'événement ItemCommand pour traiter les événements de contrôle qui sont déclenchés des modèles au contrôle.
Le contrôle Repeater fournit deux propriétés pour prendre en charge la liaison de données. Pour lier des données à tout objet qui implémente l'interface System.Collections..::.IEnumerable (tel que System.Data..::.DataView, System.Collections..::.ArrayList, System.Collections..::.Hashtable ou un tableau), ou l'interface IListSource, utilisez la propriété DataSource pour spécifier la source de données. Lorsque vous définissez la propriété DataSource, vous devez écrire manuellement le code permettant d'effectuer la liaison de données. Pour lier automatiquement le contrôle Repeater à une source de données représentée par un contrôle de source de données, attribuez à la propriété DataSourceID la valeur ID du contrôle de source de données à utiliser. Lorsque vous définissez la propriété DataSourceID, le contrôle Repeater se lie automatiquement au contrôle de source de données spécifié lors de la première demande. Par conséquent, vous n'avez pas besoin d'appeler explicitement la méthode DataBind, sauf si vous avez modifié les propriétés liées aux données du contrôle Repeater.
Un contrôle Repeater lie son ItemTemplate et son AlternatingItemTemplate soit avec le modèle de données déclaré et référencé par sa propriété DataSource, soit avec le contrôle de source de données spécifié par sa propriété DataSourceID. Les propriétés HeaderTemplate, FooterTemplate et SeparatorTemplate ne sont pas liées aux données.
Si la source de données du contrôle Repeater est définie, mais qu'aucune donnée n'est retournée, le contrôle restitue alors HeaderTemplate et FooterTemplate sans élément. Si la source de données est nullNothingnullptrune référence null (Nothing en Visual Basic), le contrôle Repeater n'est pas restitué.
Chaque contrôle Repeater doit définir ItemTemplate au minimum. D'autres modèles optionnels décrits dans le tableau suivant permettent toutefois de personnaliser la présentation de la liste.
Nom du modèle | Description |
|---|
ItemTemplate | Définit le contenu et la disposition des éléments dans la liste. Ce modèle est obligatoire. |
AlternatingItemTemplate | S'il est défini, le contenu et la disposition d'éléments de remplacement (index impair commençant par zéro) sont alors déterminés. S'il n'est pas défini, ItemTemplate est utilisé. |
SeparatorTemplate | S'il est défini, la restitution s'effectue alors entre les éléments (et éléments de remplacement). S'il n'est pas défini, aucun séparateur n'est alors restitué. |
HeaderTemplate | S'il est défini, le contenu et la disposition de l'en-tête de liste sont alors déterminés. S'il n'est pas défini, aucun en-tête n'est alors restitué. |
FooterTemplate | S'il est défini, le contenu et la disposition du pied de page de liste sont alors déterminés. S'il n'est pas défini, aucun pied de page n'est alors restitué. |
Attention : |
|---|
Ce contrôle peut être utilisé pour afficher des entrées d'utilisateur qui peuvent inclure un script client nuisible. Recherchez dans toutes les informations envoyées par un client un script exécutable, des instructions SQL ou d'autre code avant de les afficher dans votre application. ASP.NET fournit une fonctionnalité de validation de demande d'entrée pour bloquer les scripts et le HTML dans les entrées d'utilisateur. Des contrôles serveur de validation sont également fournis pour valider les entrées d'utilisateur. Pour plus d'informations, consultez Syntaxe des contrôles serveur de validation. |