Ceci n est pas un cours.



Documents pareils
< Atelier 1 /> Démarrer une application web

TP3-2 CONSTRUISEZ VOTRE PREMIER SERVICE AZURE

ASP.NET 2.0, C#, Spring.Net et NHibernate

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

SQL Server Installation Center et SQL Server Management Studio

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Rafraichissement conditionné d'une page en.net

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Paginer les données côté serveur, mettre en cache côté client

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Utilisation de l éditeur.

Reporting Services - Administration

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

TP3 1 : WEB APPLICATIONS AVEC ASP.NET

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Groupe Eyrolles, 2003, ISBN : X

Ces Lettres d informations sont envoyées aux extranautes inscrits et abonnés sur le site assistance (voir point N 3).

Gestion du cache dans les applications ASP.NET

Comment accéder à d Internet Explorer

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Programme Compte bancaire (code)

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

Rapports d activités et financiers par Internet. Manuel Utilisateur

La double authentification dans SharePoint 2007

Le serveur web Windows Home Server 2011

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais :

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Programmation Web. Madalina Croitoru IUT Montpellier

La base de données XML exist. A. Belaïd

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Création d une application JEE

Connexion à SQL server

Notes pour l utilisation d Expression Web

Mysql. Les requêtes préparées Prepared statements

TP1 : Initiation à Java et Eclipse

Notions fondamentales du langage C# Version 1.0

Le langage C. Séance n 4

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

L accès à distance du serveur

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Publier dans la Base Documentaire

Mise en place de votre connexion à Etoile Accises via Internet sécurisé

Corrigé de l'atelier pratique du module 6 : Transfert de données

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Construire une application marketing Facebook sur la plateforme Windows Azure

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Manuel d utilisation de la messagerie.

Cartographie Informatique Eclairage Public

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Hébergement et configuration de services WCF. Version 1.0

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»


Sécurisation d une application ASP.NET

UE 8 Systèmes d information de gestion Le programme

Gestion des bases SQL Server Microsoft Guide pratique

Gestion du parc informatique des collèges du département du Cher. Manuel d utilisation de la solution de gestion de Parc

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Gestion des documents avec ALFRESCO

Manuel d utilisation du site web de l ONRN

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

COMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3?

Créer un rapport pour Reporting Services

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Thomas Petillon. les Cahiers du. Programmeur ASP.NET. Groupe Eyrolles, 2003 ISBN :

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

GUIDE D INSTALLATION INTERNET haute vitesse

CREG : versailles.fr/spip.php?article803

Diffuser un contenu sur Internet : notions de base... 13

Rapport de Mini-Projet en ArcGIS Engine

SUGARCRM MODULE RAPPORTS

WebParts. Version 1.0

Rokia Missaoui - UQO. INF4163 Hiver 2008

Crédit Agricole en ligne

La Clé informatique. Formation Internet Explorer Aide-mémoire

Microsoft Application Center Test

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Services de banque en ligne de la BADR BADRnet/ GUIDE UTILISATEURS

Volet de visualisation

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTERCONNEXION ENT / BCDI / E - SIDOC

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Support application ProgrÉ. Académie de Paris

Pré requis Microsoft Windows Server 2008

Transcription:

Introduction à ASP.NET Partie 2 (traitement des collections de données) Auteurs : Ph. Lacomme (placomme@isima.fr) et R. Phan (phan@isima.fr) Date : juin 2011 Avertissement : Les exemples proposés dans ce tutorial viennent en partie du livre de George Shepherd. Nous avons refait certains exemples du livre, nous les avons complétées et nous espérons avoir amélioré les explications (parfois très rapides) qui sont données dans le livre. Ceci n est pas un cours. Nous vous conseillons le livre suivant : George Shepherd Editeur : Microsoft Press, 2010-606 pages ISBN : 2100547429 1

1. Contenu Les collections de données se divisent en deux catégories : - les collections sans liaisons de données ; - les collections avec liaisons de données. 2. Liaison de données simple Objectifs : - comprendre comment générer des données simplement ; - comprendre comment les stocker ; - comprendre comment les visualiser. On va attacher une collection simple à la propriété DataSource de l un des controles basés sur ListControl. 2.1. Créer un site web vide nommé DataBindORama. 2

Ajouter un répertoire App_Code. 3

Faire un click droit sur le répertoire App_Code et choisir Ajouter un nouvel élément. Ajouter une classe et nommé TechnologyDescriptor.cs 4

Nous allons ajouter les setters and getters dans cette classe de la manière suivante : using System; using System.Collections.Generic; using System.Linq; using System.Web; public class TechnologyDescriptor { // // TODO: ajoutez ici la logique du constructeur public string TechnologyName { get; set;} public string Description{ get; set;} public TechnologyDescriptor (string strtechnologyname, string strdescription) { this.technologyname = strtechnologyname; this.description = strtechnologyname; } public static List<TechnologyDescriptor> CreateTechnologyList() { List<TechnologyDescriptor> itechnologies = new List<TechnologyDescriptor>(); TechnologyDescriptor matechnologiedescriptor; matechnologiedescriptor = new TechnologyDescriptor("ASP.NET","traitre une requette HTTP"); itechnologies.add(matechnologiedescriptor); matechnologiedescriptor = new TechnologyDescriptor("Windows Form", "Technologie"); itechnologies.add(matechnologiedescriptor); matechnologiedescriptor = new TechnologyDescriptor("ASP.NET et Linq", "Communique avec la base de donnees"); itechnologies.add(matechnologiedescriptor); matechnologiedescriptor = new TechnologyDescriptor("ASP.NET env.", "Environnement d'execution"); itechnologies.add(matechnologiedescriptor); matechnologiedescriptor = new TechnologyDescriptor("WPF", "Technologie de rendu avancee"); itechnologies.add(matechnologiedescriptor); } } return itechnologies; 5

2.2. Modifiez le contenu de la page. Ouvrir le fichier Default.aspx et basculez en mode design. Basculez la gestion des éléments en mode de positionnement absolu. Allez dans dans Outils /Options. 6

Choisir ensuite : Concepteur HTML / Styles CSS. Insérez un ListBox. Insérer un élément DropDownList. 7

Insérer un élément CheckBoxList. L application devrait ressembler à ce qui suit : 8

Rajoutez un label sous chacun des controles. Ils vont nous permettre d afficher l élément sélectionné par l utilisateur. Prendre chaque contrôle et cochez Activez AutoPostBack. 9

10

Pour chaque contrôle, modifier le champ DataTextField. Modifiez ensuite le champ DataValueField de chaque élément comme ceci : Ouvrez le fichier Default.aspx.cs 11

Modifiez le code comme suit : using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (this.ispostback == false) { List<TechnologyDescriptor> ma_liste = TechnologyDescriptor.CreateTechnologyList(); this.listbox1.datasource = ma_liste; this.listbox1.datatextfield = "TechnologyName"; this.dropdownlist1.datasource = ma_liste; this.dropdownlist1.datatextfield = "TechnologyName"; this.checkboxlist1.datasource = ma_liste; this.dropdownlist1.datatextfield = "TechnologyName"; this.databind(); } } } Attention Ne pas oubliez le : if (this.ispostback == false) Si cette condition n est pas présente, tout rechargement de la page (et c est la cas sur les évènements click) se traduire par un rechargement du contenu des objets. On aura l impression que la sélection à la souris d un élément ne fonctionne pas. Remarquez que le champ DataTextField fait référence à TechnologyName que nous avons précédemment saisie. 12

Le résultat d exécution est le suivant : 2.3. Récupérer les éléments choisis par l utilisateur. Editez le fichier Default.aspx. Selectionnez ListBox1 et consultez les évèvements. 13

Choisir dans la liste SelectedIndexChanged. Faire un double-click sur le champ. Visual Studio génère alors une méthode comme celle-ci : protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { } Modifiez la méthode comme ceci : protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { string chaine = this.dropdownlist1.selectedvalue; this.label1.text = chaine; } Réitérez l opération avec les trois éléments. Le code final doit ressembler à ceci : protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { string chaine = this.dropdownlist1.selectedvalue; this.label1.text = chaine; } protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { string chaine = this.listbox1.selectedvalue; this.label2.text = chaine; } protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) { string chaine = this.checkboxlist1.selectedvalue; this.label3.text = chaine; } 14

Lancez l application. On peut constater que le fait de sélectionner un élément entraine automatiquement l affichage de l élément sélectionné. 2.4. Conclusion Nous venons de montrer comment attacher des ensembles d éléments en mémoire (que nous avons stocké dans des ArrayList et des List) à un contrôle. Nous avons aussi montré comment procéder afin de récupérer les sélections d un utilisateur. 15

3. Accéder à une base de données Objectifs : - Gérer une base de données via SQL Server. 3.1. Ajout d un nouveau formulaire à DataBindORama. Ajouter un nouveau formulaire nommé DataBindingWithDB. Choisissez comme page maître Site.master. 16

3.2. Création de la base de données Allez dans le menu Démarrer et choisir Microsoft SQL Server. Acceptez la connexion. 17

Le gestionnaire de base de données se présente comme suit : Faire un click droit sur Base de données au centre de la fenêtre et choisir Nouvelle base de données. 18

Choisir comme nom de la base de données : Bibliotheque. Une fois créée, la base de données doit apparaitre dans la liste 19

Il faut créer une nouvelle table. Pour cela sélectionner la base Bibliotheque et faire Nouvelle Table. Créer une table nommée Auteur ressemblant à ce qui suit : Créer une table nommée Livre ressemblant à ce qui suit : 20

Créer une table nommée AEcrit ressemblant à ce qui suit : Dans l explorateur d objets, choisir la table AEcrit et dans la section Clés, choisir Nouvelle clé étrangère. 21

Mettre en relation la clé Nom de la table Auteur et la clé NomAuteur de la table AEcrit. Mettre en relation la clé ISBN de la table Livre et la clé ISBN de la table AEcrit. 22

La base de données se présente comme suit : Visualisez les propriétés de connexion : 23

Il est important ici de noter le nom du serveur. Sur ma machine : T3500-PC\SQLEXPRESS. 24

Faire un click droit sur Auteur et choisir Ouvrir la table. La table est alors vide. Remplir la table avec par exemple des informations similaires à celles-ci : Procédez de manière similaire avec la table Livre. 25

Terminez enfin par la table AEcrit. 3.3. Connexion à la base de données Revenez à l environnement Visual Studio. Visualisez la page DataBindingWithDB.aspx. 26

Allez dans le menu Affichage et choisir Explorateur de serveurs. L environnement se présente maintenant comme suit : 27

Dans l explorateur de serveurs, choisir Ajouter une connexion. Ajouter comme nom de serveur : T3500-PC\SQLEXPRESS La liste des bases de données enregistrées devient alors accessible. Choisir la base de données bibliotheque. 28

Cette connexion apparait maintenant dans la liste : 3.4. Manipulation de la base de données Visualiser la page DataBindingWithDB.aspx. 29

Posez sur la page une SQLDataSource. Cliquer droit et choisir ensuite Configurer la source de données. 30

Sélectionnez la bibliotheque. Faire suivant : 31

Choisir ensuite la table Auteur. Ce qui donnera : Cliquez ensuite sur le bouton Terminer. Revenez à la page de Visual Studio. 32

Examiner les attributs de SqlDataSource1 et modifier le paramètre DataSourceMode. Passez ce paramètre à la valeur DataReader. Posez sur la page un contrôle ListBox. 33

Choisir ensuite la source de données. Cochez la case ActiverAutoPostBack. 34

Lancer l exécution de l application. 3.5 Manipulation de la base de données : solution «manuelle» Nous venons d utiliser les outils automatisés qui génèrent à notre place le code nécessaire. Mais revenons à un mode de programmation plus traditionnel. Ajouter sous ListBox1 un élément de type label. 35

Ouvrir le fichier DataBindingWithDB.cs. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class DataBindingWithDB : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } Le code ne contient pour l instant aucun élément permettant de gérer les actions de l utilisateur. Sélectionnez Listbox1 à la souris et examiner ses propriétés ainsi que les évènements. Choisir SelectedIndexChanged. 36

Faire un double click sur la zone à droite de l action SelectedIndexChanged. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class DataBindingWithDB : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (this.ispostback == false) { this.listbox1.datatextfield = "Nom"; this.listbox1.datavaluefield = "Prenom"; this.listbox1.databind(); } } } protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { this.label1.text = this.listbox1.selectedvalue; } Cela donne à l exécution : 37

3.6. Utilisation des contrôles «GridView». Ajouter un nouveau formulaire nommé UseGridView. 38

Posez un élément GridView sur la page UseGridView.aspx. Allez ensuite sur Nouvelle source de données. 39

Choisir Base de données SQL. Cela ouvre automatique l assistant de connexion. 40

Faire Nouvelle Connexion. Choisir le bouton Choisir Microsoft SQL Server. 41

42

43

44

Ceci donne un affichage très flatteur comme celui-ci : 3.7. Utilisation des contrôles «FormView». Ajouter un nouveau formulaire nommé UseFormView. 45

Ajouter sur la page un contrôle FormView. 46

Allez ensuite sur Nouvelle source de données et procéder comme dans la section précédente. 47

48

49

Une fois revenu à la forme, activez la pagination comme ci-dessous : Ceci donne à l exécution : 50

Vous pouvez modifier le modèle en utilisant le lien Mise en forme automatique. Ce qui permet de choisir la mise en page : 51

Profitez-en pour répartir correctement les contrôles sur la page comme suit : Cela donne un affichage plus flatteur. 52

3.8. Utilisation des contrôles «DetailView». Ajouter un nouveau formulaire nommé UseDetailView. Posez ensuite un contrôle de type DetailView sur la page. 53

Procédez comme pour les deux cas précédents afin d obtenir quelque chose qui ressemble à ceci : Faire ensuite Modifier les champs. 54

Ceci donne accès au menu suivant : Activez ensuite la pagination. 55

Le résultat d exécution est le suivant : 3.9. Utilisation des contrôles «DataList». Ajouter un nouveau formulaire nommé UseDataList. 56

Posez ensuite un contrôle de type Datalist sur la page. Procédez comme pour les deux cas précédents afin d obtenir quelque chose qui ressemble à ceci : 57

Le résultat d exécution est le suivant : 58

4. LINQ (Language Integrated Query) Objectifs : - Présenter LINQ. «Language Integrated Query (Requête intégrée au langage, aussi connu sous le nom de LINQ) est un composant du Framework.NET de Microsoft qui ajoute des capacités d'interrogation sur des données aux langages.net en utilisant une syntaxe proche de celle de SQL.» (Source Wikipedia : http://fr.wikipedia.org/wiki/language_integrated_query). Ajouter un nouveau formulaire nommé UseLinq. Le code de la page UseLinq.aspx.cs est le suivant : using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class UseLinq : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } Déposer un GridView sur la page : 59

Nous allons relier le GridView aux éléments stockés dans une instance de la classe TechnologyDescriptor. Modifiez le code UseLinq.aspx.cs comme suit : using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class UseLinq : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List<TechnologyDescriptor> techlist = TechnologyDescriptor.CreateTechnologyList(); GridView1.DataSource = from ma_technologydrescriptor in techlist where ma_technologydrescriptor.technologyname.contains("net") == true orderby ma_technologydrescriptor.technologyname select ma_technologydrescriptor.technologyname.toupper(); } } GridView1.DataBind(); 60

Ceci donne à l exécution : 61

5. Navigation dans un site web Objectifs : - comprendre les concepts de navigation sur un site - utiliser le plan d un site pour mettre en œuvre les contrôles de navigation - gérer les événements. 5.1. Création d un nouveau projet Creer un nouveau projet de type ApplicationWeb ASP.NET nommé NavigationSite. L exécution donne alors : 62

Ajoutez une page nommée Produit.aspx. Ajoutez une page nommée Assistance.aspx. Ajoutez une page nommée Contact.aspx. Le projet ressemble à ceci : 63

Ajouter ensuite un plan de site comme suit : Cela entraine la création d un fichier xml de la forme suivante : <?xml version="1.0" encoding="utf-8"?> <sitemap xmlns="http://schemas.microsoft.com/aspnet/sitemap-file-1.0" > <sitemapnode url="" title="" description=""> <sitemapnode url="" title="" description="" /> <sitemapnode url="" title="" description="" /> </sitemapnode> </sitemap> Modifier ce fichier de sorte qu il ressemble à ce qui suit : 64

<?xml version="1.0" encoding="utf-8"?> <sitemap xmlns="http://schemas.microsoft.com/aspnet/sitemap-file-1.0" > <sitemapnode url="" title="menu Principal" description="menu Principal"> <sitemapnode url="~/produits.aspx" title="gestion des produits en stock" description="gestion des produits en stock" /> <sitemapnode url="~/contact.aspx" title="les personnes à votre service" description="les personnes à votre service" /> <sitemapnode url="~/about.aspx" title="a propos de" description="a propos" /> </sitemapnode> </sitemap> 5.2. Ajout du plan de site Ouvrir le fichier site.master. Choisir ensuite Nouvelle Source de Données. 65

Sélectionnez Plan de Site. Ceci donne finallement : 66

A l exécution on obtient un menu en haut de l application. 67