[ASP.NET Futures] –Dynamic Data Web Site
Créer tout un site communiquant avec une base de données en quelques clics
Pré requis
Disposer d’Asp.Net futures
http://www.asp.net/downloads/futures/
Démarche :
créer un nouveau site > Dynamic Data Website

ajout connectionstring (dans Web.config)
<connectionStrings> <add name="connectionString1" connectionString="Data Source=.;Initial Catalog=ContactDB;Integrated Security=SSPI;Connect Timeout=30;" providerName="System.Data.SqlClient"/> </connectionStrings> <dynamicDataControls showAllTables="false" connectionString="connectionString1"> <nameMap> <!-- By default, Dynamic Data Controls use the name of the table as the folder name. This can be overridden by using a mapping here. Sample mappings: <add table="tasks" pathPrefix="~/MyTasksFolder" /> --> </nameMap> </dynamicDataControls>
|
J’utilise ici une base SQL Server 2005 très simple ayant deux tables

Ajout pages Dynamic Data Web Form
il faut absolument que les pages aient le nom exact de la table de la base de données visée :
exemple ici je vais donc créer une page "Contact.aspx" et une page "ContactCategory.aspx"

tester ! le code des pages est généré automatiquement !!
on peut consulter,ajouter,modifier,supprimer et filtrer
- un GridView permettant édition et suppression
- des dropdowlists pour filtrer sur chaque relation de la table
- un control pour l'ajout
Une unique balise est ajoutée dans chaque page
<body> <form id="form1" runat="server"> <div> <asp:DynamicAutoData id="AutoData1" runat="server" /> </div> </form> </body>
|

On dispose également d'un onglet dédié à Dynamic Data dans la boite à outils

Court descriptif de ses éléments
<form id="form1" runat="server"> <div> <!-- DynamicAutoData génére tous les controls GridView,DropDownLists,Formviews pour la table de la page) --> <asp:DynamicAutoData id="AutoData1" runat="server" /> <!-- DynamicList ne génére qu'un GridView (avec toujours edition,suppression de lignes)--> <asp:DynamicList ID="DynamicList1" runat="server" /> <!-- DynamicInsert permet uniquement insertion de nouveaux enregistrements dans la table de la page--> <asp:DynamicInsert ID="DynamicInsert1" runat="server" /> <!-- DynamicDetails permet édition et insertion,affiche le detail d'un enregistrement --> <asp:DynamicDetails ID="DynamicDetails1" runat="server" /> <!-- DynamicFilter : on indique la clé étrangère automatiquement les valeurs à afficher vont etre cherchées dans la table mère --> <asp:DynamicFilter ID="DynamicFilter1" runat="server" ColumnName="ContactCategoryID" /> <!-- DynamicNavigator est un menu permettant la navigation dans les pages du "site" --> <asp:DynamicNavigator ID="DynamicNavigator1" runat="server" /> <!-- DynamicRssLink ajoute un lien rss à la page --> <asp:DynamicRssLink ID="DynamicRssLink1" runat="server" /> </div> </form>
|
Florent Santin (Azra) parle de Dynamic Data sur son blog
http://blogs.developpeur.org/azra/archive/2007/07/25/dynamic-data-controls-une-interface-web-d-dition-de-base-de-donn-es-en-quelques-clics.aspx
Il a apparemment même fait un webcast (qu’il faudra que je suive :p)