20 notes sur asp.net

23 juin 2006

ASP.NET DataBinding sur 20-notes-sur-aspnet

ASP.NET propose de mapper sur des contrôles, des données extérieurs au code HTML. Ces dernières peuvent provenir aussi bien de base de données, que de fichiers XML ou bien de scripts.

C'est ce qu'on appel le data binding.

La liste des contrôles supportant le data binding est la suivante :

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox
Comme dit précédemment, les données importées peuvent être contenues dans des scripts, pensons notamment aux ArrayList, aux HashTable ou aux SortedList. Néanmoins associé à des bases de données ou même à des fichiers XML, le data binding proposé par ASP.NET s'avère être un outil puissant pour la création de site web dynamique.

Dans ce post, nous étudierons l'utilisation du data binding ASP.NET associé aux flux XML. Pour ce faire nous disposons d'un fichier XML décrivant une bibliothèque de livre :



Nous souhaitons laisser à l'utilisateur le choix d'un livre dans la bibliothèque. Pour cela nous mettons à disposition des radiobuttons et nous reportons son choix sur un label.

Avant de commencer, aproffondissons nos connaissances en ASP.NET.

  1. Créer des fonctions ASP.NET se fait par l'intermédiaire des mots clefs "sub" et "end sub".
    Certaines fonctions peuvent être rédéfinis telles que "Page_Load", ce qui donne à ASP.NET la possiblité de gérer les évenements.
  2. Il vous à été présenté dans un post précédent, les "server controls". Ces derniers indiquent au server que l'élément en cours doit être éxécuté, ils rendent également accéssible cet élément part un script serveur.
    Pour les utiliser, on se sert de la balise : < runat="server">
  3. ASP.NET utilise un système de "namespace" c'est ce qu'on retrouve en C++ ou bien sous forme de "package" en JAVA. Pour utiliser le contenu d'un namespace on procède comme suit :
    < %@ Import Namespace="NOM_DU_NAMESPACE" % >
Afin de stocker les informations contenus dans le fichier XML, nous utiliserons un DataSet. Pour ce faire, il nous faut importer le namespace "System.Data". Notre fonction se lance lors du chargement de la page :



Nous avons également besoin de créer la liste de radiobutton qui nous servira à l'affichage de nos titres. C'est ainsi que nous utilisons un "asp:RadioButtonList" :



Définissons l'action générée lorsqu'un utilisateur clique sur un radiobutton de la liste :



Enfin assemblons le tout dans un fichier .aspx :



Vous n'avez plus qu'a tester le résultat sur votre serveur.