8 août 2007
3
08
/08
/août
/2007
10:42
[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 de Asp.Net futures
Démarche :
1 - créer un nouveau site > Dynamic Data Website
2 - ajout connectionstring (dans Web.config)
<connectionStrings> <add name="connectionString1" connectionString="Data Source=.;Initial Catalog=ContactDB;Integrated Security=SSPI;" 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
3 - 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"
4 - 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,... 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 ,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
Il a apparemment même fait un webcast (qu’il faudra que je suive :p)