ASP.NET : Les composants asp dédiés aux données
Un tableau de données=>Génère du en sortie. Il permet d’afficher/modifier des données On peut le lier directement avec une base de données On verra son paramétrage et son utilisation détaillée en TP.
Très peu utilisé en projet pro : les développeurs préfèrent généralement garder le contrôle sur les fonctions intervenant sur les données. Malgré tout un outil puissant permettant d’afficher simplement des données (bien pour des sites perso/ à faible criticité)
Le repeater est un contrôle asp qui permet de définir un template qui sera répété autant de fois que nécessaire à partir d’une source de données. Très utile pour présenter des listes contenant des données trop complexes pour passer en simple tableau ou liste à puce. Attention aux problèmes de performance : s’assurer que la source de données ne va pas lui faire générer trop d’éléments, dans ce cas, prévoir un paging qui va délayer le chargement et/ou l’affichage.
Les différents types de templates : ◦ HeaderTemplate : affiché avant les éléments liés aux données ◦ ItemTemplate : directement lié aux données de la dataSource ◦ AlternatingTemplate : comme ItemTemplate, mais utilisé pour alterner l’affichage (pratique pour alterner les couleurs de lignes d’un tableau) ◦ FooterTemplate : collègue du HeaderTemplate, pour la fin des données.
Un exemple pris sur la MSDN: Company Symbol
Rôle du DataBinder.Eval: ◦ C’est lui qui va chercher la donnée dans l’objet du DataSource. ◦ Plus particulièrement, on travaille ici sur l’élément en cours de traitement. ◦ ◦ On précise en paramètre le nom du champs qu’on souhaite afficher ◦ Attention à ce nom, s’il est incorrect, la compilation ne vous le dira pas! Seule l’exécution permet de valider qu’on a bien alimenter ce champ.
Permettent de générer automatiquement du comportement coté client sans avoir à sortir une ligne de javascript (pour les validateurs standards) On pourra de cette manière valider les saisies de certains champs : saisies obligatoires, respect d’une expression régulière, format ( date/entier/décimal/etc,…
Toujours un exemple de la MSDN: <asp:TextBox id="TextBox1" runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator2" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="Champ obligatoire" runat="server"/>
Le viewState est un champ caché dans la page web. Il s’agit d’un ensemble de données cryptées permettant de tracer l’état de l’interface (comme son nom l’indique : view-state). Il va permettre une fois renvoyé au serveur, de reconstruire les objets dans leur état d’origine, en conservant les modifications effectuées sur l’interface.
Son utilisation est très pratique et décharge le server d’une partie de son travail. Il a tout de même un cout important en termes de performance, sa taille pouvant devenir de l’ordre du kilo octet. Dans le framework.NET4, si on désactive le viewstate au niveau de la page, on peut l’activer pour certains composants et vice- versa, le paramétrage peut être effectué finement. Dans les versions précédentes du framework, l’activation au niveau de la page forçait l’activation sur tous les composants de cette page qu’elle que soit la valeur.
Pour l’activer il suffit de se placer dans n’importe quel contrôle d’une page aspx ou ascx et d’utiliser l’attribut enableViewState. Cette directive permet à ASP.NET de savoir s’il doit tracer l’état du composant à travers le viewState afin d’en reconstruire l’état une fois la page envoyée au serveur.