Barre horizontale de naviagtion

mercredi 29 septembre 2010

Un datasource hierarchique pour binder vos treeview / menu

ASP.net 2.0 possède les contrôles Menu et Treeview. Ces contrôles sont généralement méconnus par les développeurs ASP.net pour plusieurs raisons :

  • On a rarement besoin de ce genre de contrôle ;
  • Les exemples d'utilisations sont toujours simples, association avec un XmlDataSource ou SiteMapDataSource, ce qui correspond rarement à la réalité, dès que l'on veut faire quelque chose de précis avec ces contrôles cela se complique et les exemples sont rares;
  • Le code HTML généré est horrible.

Au niveau du code HTML, les CSS Friendly Control Adapters améliorent grandement les choses, la démo du contrôle treeview est particulièrement bluffante : le code HTML généré passe de 49ko à 18ko tout simplement en utilisant HTML correctement avec une bonne sémantique.

Pour le second point, les exemples que l'on trouve utilisent généralement un SiteMapDataSource : du coup on se retrouve avec un exemple du genre :

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1"> asp:TreeView> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />


http://blogs.developpeur.org/cyril/archive/2007/06/27/un-datasource-hierarchique-pour-binder-vos-treeview-menu.aspx

Aucun commentaire:

Enregistrer un commentaire