SUPPORT DE FORMATION : ASP.NET
auteur centre outil type doc millsime version page 1 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Table des matires
Excution de code sur le serveur..................................................................................... 3 ASP.NET ............................................................................................................................ 7 Projet ASP.NET ................................................................................................................. 10 Pages Web Forms ............................................................................................................. 12
Exercices de dcouverte dASP.Net
Objets ASP.Net .................................................................................................................. 25
Exercices sur les objets ASP
Contrles graphiques serveurs ....................................................................................... 42 Cycle de vie dune page WebForms ................................................................................ 60
Exercices sur les contrles graphiques serveurs
Accs aux bases de donnes : ADO.Net ........................................................................ 64
Exercices sur laccs aux bases de donnes
Annexes ............................................................................................................................. 77
Configuration dapplication Gestion dtat Passage de valeurs entre les pages Web Forms Fonctionnalits ct client dans un contrle serveur
auteur centre outil type doc millsime version page 2 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Excution de code sur le serveur
Architecture dapplication Web
Client Serveur Web Serveur dapplication
Serveur dentreprise
Autres ressources : fichiers, messagerie,
annuaire,
Autres applications serveurs : mainframe,
PGI,
Middlewares connecteurs
Serveur de composants
(EJB, ActiveX,)
Serveur de scripts et de programmes
serveur (ASP, JSP, PHP,)
Serveur HTTP
Navigateur Web
Code html/css/xml
Script client
Moteur de scripts
Machine Virtuelle Java
Applet
Composants clients (ActiveX,...)
client Windows
HTTP
DCOM, .Net Remoting, RMI/IIOP,... (1)
- Pages Web (avec scripts client et serveur)- Fichiers multimdias
SGBD
Fichiers de code serveur (programme CGI/API, servlet, ActiveX serveur,)
Services middleware (2)
(1) Cas particulier : des composants clients peuvent communiquer directement avec des applications serveurs au moyen dun
protocole de type client/serveur (DCOM, .Net Remoting, IIOP, RMI, ...). (2) Services middleware : gestion de sessions, gestion de transactions, scurit, administration, gestion des performances
(caches, quilibrage des charges entre serveurs,).
auteur centre outil type doc millsime version page 3 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Fonctionnement :
n Le client charge la page html
Serveur de donnes
Serveur Pages html
Navigateur client
Page html
HTTP
Appel de prog. serveur
Moteur HTTP
CGI, ASP,...
Prog. serveur
n
SQL
Base de donneso
p rq
sPage html gnre en rponse Construction
( lintrieur du programme)de la page html envoyer
Le navigateur interprte le code html. Les scripts inclus dans la page sont interprts par le moteur de scripts du navigateur. Si la page comprend des appels dapplets, celles-ci sont excutes par la machine virtuelle Java du navigateur.
o Le client envoi une requte au serveur Web (en HTTP) en dsignant le programme serveur par son
URL.
p Le moteur HTTP lance le programme ou passe le relai au serveur dapplication.
q Le programme sexcute sur le serveur Traitement des informations saisies par un utilisateur dans le formulaire de la page Web. Interrogation d'une base de donnes et transmission des rsultats une page html. Redirection d'une demande utilisateur vers une page particulire en fonction d'une condition
comme la vrification d'un mot de passe par exemple. Si lapplication exige certains traitements intermdiaires (authentification, suivi du
cheminement,), le serveur dapplication (entre le serveur Web et le serveur de donnes) prend en charge la gestion du contexte utilisateur.
r Le programme serveur transform s rsultats en page html qui est renvoye au moteur HTTP.
s Le moteur HTTP renvoie la page html au client, avec les fichiers asso s : multimdias, feuilles de styles, scripts, composants clients (applets, ActiveX),
auteur centre outil type doc millsime Michel Astre Beaumont Word 2000 supp. form 13/03/06
afpa cie leversion page 4 1 CSharp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
Historique des techniques de dveloppements destins aux serveurs
1- Programme CGI (Common Gateway Interface)
CGI est un protocole utilis par un navigateur pour demander lexcution dune application externe par un serveur Web. Lapplication CGI appele peut tre un programme compil (langage C, L4G,) ou pr-compil (Java), ou bien un script interprt (Perl,). Dans tous les cas, linterface CGI lance toujours un excutable (programme lui-mme, ou interprteur de script) qui cre sur le serveur un processus par requte (processus distincts du processus du serveur Web). Cette technique a donc pour inconvnients de limiter le nombre de transactions simultanes et dtre gourmande en ressources systmes.
2- Programme crit avec une API propitaire (ISAPI, ) procurant des amliorations de performance.
Les API propritaires (cest--dire les interfaces natives des serveurs Web) sont apparues en 1996 dans le but damliorer les performances par rapport CGI. Un programme crit avec lAPI est excut dans le contexte de la tche du serveur HTTP et non comme un processus indpendant (la DLL de lAPI nest charge quune fois). Pour le serveur Web de Microsoft (IIS), un programme ISAPI (appel filtre ISAPI) sappuie sur une DLL multi-thread (bibliothque de fonctions statiques sous dautres systmes), restant en mmoire aprs lappel, et qui est rentrante (partageable entre plusieurs clients simultanment). Les pages ASP et ASP.Net sont traites par des filtres ISAPI.
3- Les scripts serveur (ASP, ) associs des passerelle SGBD-Web permettant un dveloppement plus simple : voir SSS ci-dessous.
4- Les scripts et programmes serveurs prcompils (servlet, ASP.NET) : voir ASP.NET .
Scripting Serveur : SSS (Server Side Scripting)
Il est possible dcrire des scripts serveur sexcutant directement sur le serveur Web avant envoi de la page au client (contrairement aux scripts clients qui sexcutent sur le client, une fois la page tlcharge).
Les scripts serveur peuvent gnrer tout type de sortie, non seulement des valeurs pour les variables ou les expressions, mais aussi du texte et des balises html ainsi que des scripts client. Une mme page de script serveur peut gnrer diffrentes pages HML en fonctions des valeurs rcupres. Un script est plus simple crire quun programme sappuyant directement sur lAPI du serveur Web.
auteur centre outil type doc millsime version page 5 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Des scripts client et serveur peuvent cohabiter sur une mme page Web.
Interprtation au chargement dans le navigateur des scripts clients inline et du HTML
Excution par le serveur Web de lintgralit du script serveur (avant envoi de la page au client)
Interprtation la demande des fonctions de script client :
- dclenches par des vnements - appeles par une autre fonction
Scripting Editeur Serveur Web Langage
script serveur
Communica-tion des
composants
Compo-sants
serveurs
Accs aux donnes
(haut niveau)
Accs aux donnes
(bas niveau) ASP (Active Server Page)
Microsoft IIS, PWS, Chili!Soft (Unix), Apache,
VBScript et JScript interprts
DCOM ActiveX ADO ODBC OLE-DB
ASP.Net Microsoft IIS, Cassini diffrents langages (JScript, C#, VB, )
.Net Remoting
.Net Objects
ADO.Net OLE-DB
Cold Fusion Allaire (Macro-media)
IIS, Apache CFML (ColdFusion ML)
JSP (Java Server Page)
Sun IBM, IIS, Apache
Java : - script Java - Servlet (*)
RMI - IIOP EJB (Enterprise JavaBeans)
JBDC JDO
PHP (Personal Home Page)
Open Source
Apache, PHP Classes PHP
PEAR DB ODBC API native
Perl Open Source
script CGI DBI DBD
(*) JSP = scripts Java incorpors dans des pages html et interprts sur le serveur (comme ASP) Servlet : programme Java compil.
SSI (Server Side Include) : voir annexe du cours HTML
Le code SSI permet dincorporer des i fichier, date, heure, variable denvironnement, ) dans des pages H en html par le serveur http (si ce dernier supporte et autorise les SS igateur.
auteur centre Michel Astre Beaumont
afpa nformations dynamiques (autre TML. Le code SSI est transformI) avant lenvoi de la page au navoutil type doc millsime version page 6 Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
ASP.Net
Pr-requis ) Serveur Web install localement ou sur un serveur distant : services IIS (version 5.0 ou ultrieure),
Cassini (IIS light fourni avec WebMatrix). ) Environnement de dveloppement : Visual Studio .Net, WebMatrix (Igratuit). Il est mme possible
de dvelopper avec le simple Bloc-notes. ) Extensions serveur FrontPage (mthode d'accs) ) Autorisations Web correctes pour lapplication.
ASP .NET
Un application Web a une prsentation base sur HTML et une partie du code sexcutant sur un serveur Web. La construction d'une telle application avec Visual Studio repose sur ASP.NET.
ASP.NET est une plate-forme servant au dveloppement et l'excution d'applications sur un serveur Web. Avec ASP, le serveur Web se concentre sur les requtes http standards, laissant le traitement des pages excutables un processus spcialis.
Serveur
SGBDASP.NET
Serveur de composants
ADO .Net
Framework (classes et CLR)
Soap .Net Remoting
OLE-DB
composants mtier et accs aux donnes
composants compils
dynamiquement
Serveur dapplications .Net
Base de donnesrponse (gnre dynamiquement)
serveur Web (moteur http)
client Web
requte
HTTP
Une page ASP (suffixe .aspx ) est une page html mlangeant du code destin tre excut sur le client (html et scripts client) du script ASP destin tre excut sur le serveur. Ce script serveur est distingu du reste de la page par des balises particulires et peut tre plac dans un fichier spar (suffixe .aspx.cs )
auteur centre outil type doc millsime version page 7 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Variantes de script Balises Exemples
Script serveur en ligne
Affichage dune expression en ligne
Fonction script serveur
< script language=c# runat=server > public string GetDate() { }
Directive de paramtrage de la page
Uniquement en conception Contrle serveur HTML
Exemple de contrle HtmlInputText
Contrles serveur Web
Exemple de contrle TextBox
Expression de liaison de donnes
ASP.NET fait partie du .NET Framework, de sorte qu'il permet d'accder toutes les fonctionnalits de cette infrastructure : utilisation de n'importe quel langage de programmation .NET, accs aux donnes avec ADO.NET, ...
ASP et ASP .NET
ASP.NET est une nouvelle version de ASP (Active Server Pages) fortement compatible avec cette dernire.
ASP ASP.Net Langage VBScript JScript Au choix parmi les langages .Net (mais un seul langage par page) Fonctionna-lits RAD
Elmentaires (contrles DTC) Nombreux contrles serveurs gnrant du code en fonction du client.
Traduction Interprtation Le moteur ASP.Net - parse la page, - la transforme en classe, - et la compile la vole
Architecture Le code et linterface se trouvent souvent dans le mme fichier
Le code dhabillage de linterface utilisateur et le traitement des donnes sont dsormais bien spars
Modle objet 5 objets ASP offrant des fonctionnalits serveur de base
Le modle objet permet une abstraction du contenu physique dune page HTML, ainsi que de l'interaction directe entre le navigateur et le serveur. Les contrles serveur sutilise comme dans une application Windows.
Gestion vnementielle
Tout est programm directement en JavaScript client
La gestion des vnements peut sutiliser comme dans une application Windows. Le dveloppeur peut ne pas grer lui-mme le mcanisme sous-jacent de capture d'un vnement sur le client, de transmission au serveur et d'appel la mthode approprie.
Gestion des tats
Gestion manuelle Gestion automatique (et paramttre) de conservation de l'tat du formulaire et de ses contrles.
Portabilit Gestion manuelle des particularits des navigateurs
L'infrastructure des pages ASP.NET permet de crer toute la logique de l'application sur le serveur, vitant ainsi de coder explicitement les diffrences des navigateurs. Cependant, il est possible de tirer partie des fonctionnalits dun d'un navigateur ou d'un priphrique client spcifique (tlphones, PDA, ).
auteur centre outil type doc millsime version page 8 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Dans lancien modle ASP, la page est compose de code de script coexistant avec du HTML statique
dans le mme fichier. L'analyseur ASP lit la page, l'interprte et n'excute que le code de script pour obtenir des rsultats. ASP fusionne ensuite le rsultat du code de script avec le rsultat du HTML statique obtenu dans la page avant de renvoyer le rsultat au navigateur.
) Dans le nouveau modle ASP.NET, l'intgralit de la page Web Forms est, en fait, un programme
excutable qui gnre un rsultat renvoyer au navigateur ou au priphrique client. Dans ce modle, la page passe par une srie d'tapes de traitement similaires celles d'autres composants initialisation, traitement et suppression deux diffrences prs :
La classe de page ralise ces tapes chaque fois que la page est appele. La page est initialise,
traite, puis supprime chaque aller-retour vers le serveur. La classe de page n'a qu'une tape rendu qui se produit vers la fin du cycle de vie de la page,
lors de la gnration du rsultat.
Difficults du dveloppement Web
ASP.NET offre des solutions aux principaux problmes du dveloppement Web :
Contraintes Consquences
Les fonctionnalits HTML de base sont limites Une application Web est susceptible dtre destine divers navigateurs et plates-formes priphriques clientes.
Limplmentation d'une interface utilisateur Web labore est difficile (interactivit, contenu dynamique, ...)
Le client (navigateur) et le serveur sont des programmes diffrents, excuts sur des ordinateurs diffrents (voire sur des systmes d'exploitation diffrents).
Les deux moitis de l'application ne partagent que trs peu de donnes ; elles peuvent communiquer, mais n'changent gnralement que de faibles quantits d'informations simples
Excution sans tat : par dfaut, un serveur Web ne conserve aucune information relative aux pages qu'il a traites.
Ceci pose un problme si une application doit conserver des informations sur une page. Ce problme doit tre rsolu dans le code de l'application
Fonctionnalits clientes inconnues. Les applications Web sont souvent accessibles par diffrents utilisateurs utilisant diffrents navigateurs. Les navigateurs disposent de fonctionnalits diffrentes
Ceci complique la cration d'une application qui doit tre capable d'tre excute aussi efficacement sur chaque client
Complications relatives l'accs aux donnes La lecture et l'criture peuvent se rvler complexes et gourmandes en ressources
auteur centre outil type doc millsime version page 9 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Projet ASP.NET
Application Web ASP.NET
SGBD
serveur
Web
) Interface utilisateur
Pages HTML pour du contenu statique.
Pages Web Forms pour un contenu dynamique
Lorsque des utilisateurs demandent une page Web Forms, l'infrastructure Page excute l'objet page Web Forms et les diffrents contrles qu'elle contient. Le rsultat de la classe Page et des contrles est au format HTML.
) Composants : classes .Net (C#, ...) ou services Web XML.
Un service Web XML est un composant qui peut tre appel par d'autres applications via un rseau TCP/IP. Il remplit une fonction spcifique (traitement de commandes complexe, calculs, validation de cartes de crdit, ...) et retourne des valeurs l'application appelante.
auteur centre outil type doc millsime version page 10 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Projet Web
Un projet d'application Web est un rfrentiel central de toutes les informations ncessaires la cration, l'excution et la gestion de l'application.
) Le modle dapplication Web de Visual Studio ajoute automatiquement les rfrences et fichiers
projet essentiels :
Fichiers Rpertoire Description AssemblyInfo.cs Racine Fichier d'informations de projet qui contient des mtadonnes sur les
assemblys d'un projet, telles que le nom, la version et les informations de culture
Global.asax Global.asax.cs
Racine Contient du code de rponse aux vnements de niveau application dclenchs par ASP.NET.
Web.config Racine Fichier XML qui contient les donnes de configuration sur chaque ressource URL unique utilise dans le projet.
WebForm1.aspx Racine Contient la partie de la page Web Forms par dfaut qui comprend des lments de l'interface utilisateur (contrles), semblable une page HTML.
Webform1.aspx.cs Racine Fichier de classe pour la page Web Forms par dfaut qui comprend le code utilisateur et systme de la page.
WebForm1.aspx.resx
Racine Fichier XML de ressources (donnes, images, ...) de la page. Il est modifiable (culture, ) sans recompilation.
WebForm.dll Bin Page compile WebForm.pdb Bin Fichier utilis pour le dbogage
Rfrences Description Rfrences aux espaces de noms .NET Framework
- System.dll : classes de base (types de donnes, vnements et gestionnaires d'vnements, interfaces, attributs et traitement des exceptions) - System.Data.dll : classes de l'architecture ADO.NET - System.Drawing.dll : classes des fonctionnalits graphiques de base GDI+. - System.Web.dll : classes qui permettent la communication entre le navigateur et le serveur. - System.Xml.dll : classes de XML.
) Fichiers dune application Web
Extension Fichier Description ascx UserControl Contrle utilisateur asmx WebService Classe encapsule crite en VB, VC++ ou C# aspc.cs Code behind Partie code dune page Web ASP.NET, compil la premire invocation aspx WebForm Partie prsentation dune page Web ASP.NET config Fichier de configuration
d'application Fichier utilis pour dfinir des paramtres de configuration d'une application.
cs Classe Fichier de code qui contient une dclaration de classe. css Feuille de style Feuille de styles HTML lie une page Web htm Page HTML Page HTML pouvant inclure du code ct client. js Fichier JScript Fichier de code JScript li une page Web
auteur centre outil type doc millsime version page 11 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Pages Web Forms
Structure dune page Web Form ) Les pages Web Forms permettent de crer des pages Web programmables en sparant linterface et le
code serveur de la page en deux fichiers distincts.
Fichier Extension Code Langage Fichier interface
aspx Code client interprt implmentant la couche prsentation de la page (texte statique et formulaire avec des contrles graphiques HTML ou serveur)
Langages compatibles HTTP : HTML, XML, WML et ECMAScript (JScript, JavaScript)
Fichier de code behind
aspx.cs (pour C# )
Code serveur compil implmentant la couche contrleur de la page (interaction avec le formulaire). Ce code est excut par ASP avant gnration dynamique de la page envoyer.
Langages de programmation .NET : Visual Basic .NET, C#, JScript .NET, ...
aspx interface
c(C
css styles
) Remarques
Visual Studio ne prend pas en ch
les projets. Il est donc impossibleVisual Basic et vice-versa.
Il est possible de crer les lme
- L'un des avantages d'une page - Cependant, certaines fonction
composants de donnes par drvnements aux gestionnaires
auteur centre Michel Astre Beaumon
afpa aspx.cs ode behind #, JScript,...)
classe C#
arge la compilation inter-langage dans les pages Web Forms et dans d'inclure une page Web Forms Visual C# dans un projet Web
nts visuels et le code dans un unique fichier aspx
fichier unique rside dans sa plus grande facilit de dploiement.
nalits de Visual Studio ne sont pas accessibles : modle de page, ag & drop, prise en charge dIntellisense, liaison automatique des d'vnements, certaines fonctionnalits de dbogage, ...
outil type doc millsime version page 12 t Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
Exemple de page Web Form gnre par Visual Studio
Projet : TestWebForm ) Fichier de la page Web ASP.Net : WebForm1.aspx
Visualisation en mode HTML (code source HTML)
Nom de la classe (dans la dll du projet) partir duquel le fichier .aspx est driv.
AutoEventWireup doit toujours avoir la valeur false lorsque vous utilisez Visual Studio.
WebForm1 Premier test ASP
Code ajout manuellement
Cet attribut indique un traitement par le serveur
auteur centre outil type doc millsime version page 13 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Visualisation en mode Design (conception du dessin)
- pageLayout = GridLayout = mode de prsentation grille : objets disposs en coordonnes absolues. Le texte statique peut tre mis dans un contrle HTML Label quil faut ensuite positionner lendroit voulu sur la page.
Un contrle Label gnre en ralit une balide DIV. Par exemple Label Avantage : facilite le positionnement des lments.
- pageLayout = FlowLayout = mode de prsentation fluide : affichage de haut en bas
(coordonnes relatives), ce qui est conseill pour du html. Il faut simplement taper le texte l'endroit o il doit apparatre.
Avantage : facilite l'ajout de texte statique.
) Visualisation du code HTML reu par le navigateur
Lentte de page ASP nest pas envoy au client
WebForm1 La balise form
a t modifie Premier test ASP
Trs important : Cest un champ cach (gnr automatiquement) qui permet de grer ltat daffichage
auteur centre outil type doc millsime version page 14 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Fichier du code-behind correspondant la page : WebForm1.aspx.cs (affichage avec menu
contextuel afficher le code ).
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace TestWebForm { /// /// Description rsume de WebForm1. /// public class WebForm1 : System.Web.UI.Page
Hritage de System.Web.UI.Page
{ private void Page_Load(object sender, System.EventArgs e) { // Placer ici le code utilisateur pour initialiser la page } #region Code gnr par le Concepteur Web Form override protected void OnInit(EventArgs e) { // // CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET. // InitializeComponent(); base.OnInit(e); } /// /// Mthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette mthode avec l'diteur de code. /// private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }
auteur centre outil type doc millsime version page 15 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Exemple de script ASP simple (avec objet Response implicite)
) 1re version : code client et serveur dans un seul fichier
ExCours1 private string _utilisateur="Astre"; public string NomUser() { return _utilisateur; } Gnration de page Test avec taille =
) 2me version avec code client et code serveur (code behind) spars
Page aspx interprte par le serveur : ExCours1.aspx
Langage pour les scripts serveur.
Hritage de la classe situe dans le fichier code-behind.
ExCours1 Ex cours n 1 Nom utilisateur :
Exemple de script serveur inline : appel dune fonction situe dans le fichier code-behind. Cette fonction est accessible, car la page aspx hrite de la classe ExCours1 du code-behind.
{%>
SUPPORT DE FORMATION ASP.NET
Page aspx.cs de code-benind associ using ... namespace ASPNET.TPASP { public class ExCours1 : System.Web.UI.Page { private string _utilisateur="Astre"; private void Page_Load(object sender, System.EventArgs e)
Exemple de champ en script serveur
{ } #region Code gnr par le Concepteur Web Form ... #endregion public string NomUser()
Exemple de mthode en script serveur
{ return _utilisateur; } } }
) Mme page telle quelle est reue sur le navigateur.
Le client ne peut recevoir que du code interprtable par le navigateur : HTML, CSS, JavaScript, XML.
ExCours1 Ex cours n 1 Nom utilisateur : Astre Test avec taille = 10 Test avec taille = 20 Test avec taille = 30 Test avec taille = 40 Test avec taille = 50
Cette page dynamique est un document virtuel qui nexiste pas sur le serveur en tant que fichierstock.
) Page affiche
auteur centre outil type doc millsime version page 17 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Exemple de page ASP avec un formulaire : avec contrles HTML standards
) Graphe du dialogue.
) Graphe de rpartition des traitements.
Homme Client (navigateur) Serveur Web
saisie champ txtNom bouton btnEnvoyer
visualisation du rsultat
ExCours2Ctl.aspbtnEnvoyer
ExCours2.htm
Voir le cours Conception technique pour lutilisation des strotypes UML.
ExCours2Ctl.aspExCours2Ctl.asp
ExCours2.htm
) Diagramme de squences
Pour lutilisation des strotypes UML, voir le cours UML.
Acteur ExCours2.htm page client
Saisie
btnEnvoyer
ExCours2Ctl.aspx page client
ExCours2Ctl.aspx page serveur
Page virtuelle gnre par le serveur
) Exemple de page formulaire : ExCours2.htm
on page 18 CSharp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
) Exemple de page rcuprant le rsultat renvoy par le formulaire : ExCours2Ctl.aspx
ExCours2Ctl Ex cours n 2 - rponse Valeur rcupre avec la mthode POST :
Exemple dutilisation dobjets ASP pour rcuprer la valeur saisie (Request) dans un formulaire et afficher dans la nouvelle page (Response)
Mme page reue par le navigateur :
ExCours2Ctl Ex cours n 2 - rponse Valeur rcupre avec la mthode POST : Test de saisie
Si la valeur saisie dans le formulaire est Test de saisie
auteur centre outil type doc millsime version page 19 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Compilation et excution de pages Web Forms ) Commandes de compilation et dexcution de pages Web Forms
Mthode Dmarche Description
Avec le dbogueur
1- Dfinir comme page de dmarrage 2- menu Dboguer Dmarrer 3- Arrt en fermant le navigateur ou menu Dbogage - Arrter le dbogage
Excute le navigateur par dfaut et charge la page de dmarrage spcifie. L'excution d'une page dans le dbogueur vous permet d'examiner le code ligne par ligne et d'utiliser des outils d'analyse et des informations d'excution supplmentaires. Si Visual Studio dtecte une modification des fichiers, il rgnre le projet avant le lancement.
Sans le dbogueur
1- Dfinir comme page de dmarrage 2- menu Dboguer - Excuter sans dbogage 3- Arrt en fermant le navigateur ou menu Dbogage - Arrter le dbogage
Vous permet d'excuter votre code tel qu'il s'excuterait normalement en dehors du contexte des outils de dveloppement. Studio dtecte une modification des fichiers , il rgnre le projet avant le lancement.
Affichage dans le navigateur
1- Cliquer sur la page concern, puis Afficher dans le navigateur 2- Arrt en fermant le navigateur
Compile le projet et ouvre une page Web slectionne partir de l'Explorateur de solutions. Le projet est compil et excut dans le navigateur par dfaut de Visual Studio.
) Fonctionnement avec Visual Studio
Les pages Web Forms, les services Web XML et les composants sont compils dans des fichiers DLL. Une fois compils, ces fichiers n'ont pas besoin d'tre inscrits dans la base de registres sur le serveur Web sur lequel ils sont excuts. Bien quune page Web Forms soit compose de deux fichiers distincts, elle constitue une entit unique lors de l'excution de lapplication ...
Les fichiers de classe code-behind de toutes les pages Web Forms d'un projet sont compils dans
le fichier dll du projet.
Le fichier de page .aspx est galement compil, mais diffremment. Lorsqu'un utilisateur recherche la page .aspx pour la premire fois, ASP.NET gnre automatiquement un fichier de classe .NET qui reprsente la page et le compile dans un deuxime fichier .dll. La classe gnre pour la page .aspx hrite de la classe code-behind qui a t compile dans le fichier .dll du projet.
auteur centre outil type doc millsime version page 20 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Excution client (navigateur, priphrique client)
Excution serveur (ASP) Conception
System.Web.UI.Page
TestWebForm.dll
page html
Compilation dynamique
WebForm1.aspx
dll temporaire
classe WebForm1
WebForm1 (WebForm1.aspx.cs)
Compilation
Gnration + envoi
) Lorsqu'un utilisateur demande l'URL de la page Web, les fichiers .dll s'excutent sur le serveur et
produisent de faon dynamique la sortie HTML de votre page.
Si la page contient des contrles serveur, comme c'est gnralement le cas, la classe de page drive tient lieu de conteneur pour les contrles. Des instances des contrles sont cres au moment de l'excution, de mme qu'un rendu pour le navigateur ou le priphrique client.
Pour des raisons d'efficacit, les informations requises pour recrer la page peuvent tre mises en cache. Cette action est indpendante du cycle de vie de la page.
) Fonctionnement avec ASP.NET Framework
Pour les pages Web Forms, ASP.NET Framework prend en charge un modle code-behind lgrement diffrent de celui utilis par Visual Studio. Dans le modle ASP.NET code-behind, les lments visuels sont situs dans un fichier .aspx, et le code, dans un fichier distinct contenant uniquement du code, comme dans Visual Studio. Cependant, il n'existe pas de projet et le code n'est pas prcompil. En revanche, le code du fichier .vb ou .cs est compil au moment de l'excution, lorsque l'utilisateur demande la page pour la premire fois. Le modle d'hritage fonctionne comme illustr ci-dessus, la diffrence prs que la classe Web Forms (classe WebForm1 dans le schma) ne fait pas partie d'un assembly de projet. En revanche, chaque page constitue un assembly distinct. Votre code s'excute de manire identique dans les deux modles. Dans le modle ASP.NET code-behind, il n'existe pas d'attribut de page Codebehind, car cet attribut est spcifique Visual Studio. Pour lier le fichier .aspx son code, la directive de page contient un attribut Src , qui fait rfrence au fichier contenant le code source pour le fichier.
auteur centre outil type doc millsime version page 21 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
L'attribut Src n'est pas pris en charge dans Visual Studio. Si vous importez dans Visual Studio une page Web Forms contenant l'attribut Src, le concepteur lvera une erreur.
Navigateur client Serveur http Serveur ASP.Net
1re demande ? (page serveur non
compile)
oui
Mise jour ncessaire ?
Page serveur aspx ou service asmx
Prcompilation
oui non
Compilation JIT + excution du code
machine binaire
Html + javascript
Page en cache Renvoi du cache
Mise en cache
seuls langages compris par les navigateurs
Co L
Requte http
Transfert requte
Page client
non
Page client
auteur centre outil type do Michel Astre Beaumont Word 2000 supp. for
afpa c millsime version m 13/03/06 1 CShde en langage MSIpage 22 arp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
Exercices de dcouverte dASP.Net
Exercice de prise en main ) Crer et enregistrer un projet Application Web ASP.Net avec Visual Studio.
) Visualiser les noms et la localisation des fichiers gnrs :
Dans lexplorateur de solutions de Visual Studio. Dans lexplorateur Windows.
) Dans Visual Sudio, visualiser la premire page ASP gnre (en gnral, WebForm1)
Fichier WebForm1.aspx : ajouter un titre HTML avec une balise
- Onglet HTML - Onglet Design
Fichier WebForm1.aspx.cs (commande Afficher le code . ) Lancer lexcution de lapplication Web.
Visualiser le rsultat de laffichage de la page. Visualiser le code source reu par le client, et vrifier quil est diffrent du code serveur dorigine.
Gnration de page dynamique ) Reprendre lexemple du cours ExCours1.aspx qui illustre les concepts suivants :
Script serveur inline gnrant du HTML. Appel de code serveur situ dans le fichier code-behind.
) Afficher la page dans le navigateur. En cas derreur, il faut penser rgnrer la solution.
Visualiser le rsultat de laffichage de la page.
Visualiser le code source reu par le client, et et le comparer au code serveur dorigine.
auteur centre outil type doc millsime version page 23 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Formulaire de saisie et rcupration des rsultats ) Reprendre lexemple du cours ExCours2.htm et ExCours2Ctl.aspx qui illustrent les concepts
suivants :
Formulaire HTML appelant une page ASP la validation. Page ASP rcuprant une saisie et laffichant.
) Afficher la page dans le navigateur.
Effectuer une saisie dans la zone de texte et valider. Visualiser le rsultat de laffichage de la page de rponse.
Visualiser le code source de cette page, et le comparer au code serveur dorigine.
auteur centre outil type doc millsime version page 24 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Objets ASP.NET
Dveloppement sans RAD
Cette partie prsente des exemples dutilisation des objets ASP sans avoir recours aux fonctionnalits RAD de Visual Studio.
) Avantages de ce type de programmation :
En phase dapprentissage, il facilite la comprhension du fonctionnement client/serveur dune application Web (et permet donc de transposer le savoir-faire dans un autre contexte tel que PHP).
Code plus lger, ce qui est important pour le Web. Bien que les classes prsentes soient une nouveaut de ASP.NET, les objets sont utiliss de la mme
faon qu'avec les versions prcdentes de ASP. ) Inconvnients de ce type de programmation :
Plus de code crire. Code plus complexe li la prise en compte de certaines techniques : portabilit, gestion dtat,
gestion des vnements, Classes et objets ASP.NET
Lors de l'excution d'une application Web, ASP.NET conserve des informations sur l'application en cours, sur chaque session utilisateur, sur la demande HTTP en cours, sur la page Web Forms demande, etc. L'infrastructure de page ASP.NET contient une srie de classes permettant d'encapsuler ces informations de contexte. ASP.NET rend les instances de ces classes disponibles en tant qu'objets intrinsques auxquels vous pouvez accder partir de votre code. Le tableau suivant rpertorie ces objets intrinsques et les classes dont ils sont les instances.
Nom de l'objet Description Classe ASP.NET (*) Response Permet d'accder au flux de sortie pour la page en cours. Vous pouvez utiliser
cette classe pour insrer du texte dans la page, crire des cookies, etc. HttpResponse
Request Permet d'accder la demande de page en cours, y compris aux en-ttes, aux cookies, au certificat client, la chane de requte, etc. Vous pouvez utiliser cette classe pour lire les donnes envoyes par le navigateur.
HttpRequest
Context Permet d'accder l'ensemble du contexte en cours (y compris l'objet de demande). Vous pouvez utiliser cette classe pour partager des informations entre les pages.
HttpContext
Server Prsente des mthodes utilitaires qui permettent de transfrer le contrle entre les pages, d'obtenir des informations sur l'erreur la plus rcente, de coder et de dcoder du texte HTML, etc.
HttpServerUtility
Application Permet d'accder des mthodes et des vnements d'application. Permet galement d'accder un cache d'application que vous pouvez utiliser pour stocker des informations.
HttpApplicationState
Session Fournit des informations sur la session utilisateur en cours. Permet galement d'accder un cache de session, que vous pouvez utiliser pour stocker des informations, et fournit les moyens de contrler la gestion de la session.
HttpSessionState
Trace Fournit un moyen d'obtenir les messages de diagnostic du suivi, crs par le systme ou par vous-mme, qui seront affichs dans la sortie de page HTTP.
TraceContext
(*) Les classes ASP.Net http sont utilise par linfrastructure .Net et non directement par lutilisateur.
auteur centre outil type doc millsime version page 25 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Accs au flux de sortie vers une page : classe HttpResponse et objet Response
Proprits publiques Description Buffer Obtient ou dfinit une valeur qui indique si la sortie doit tre place en mmoire tampon et
envoye une fois que la rponse a t compltement traite. BufferOutput Obtient ou dfinit une valeur qui indique si la sortie doit tre place en mmoire tampon et
envoye une fois que la page entire a t traite. Cache Obtient la stratgie de mise en cache d'une page Web (dlai d'expiration, confidentialit,
clauses diverses). CacheControl Affecte l'en-tte HTTP Cache-Control la valeur Public ou Private. Charset Obtient ou dfinit le jeu de caractres HTTP du flux de sortie. ContentEncoding Obtient ou dfinit le jeu de caractres HTTP du flux de sortie. ContentType Obtient ou dfinit le type MIME HTTP du flux de sortie. Cookies Obtient la collection de cookies constituant la rponse. Expires Obtient ou dfinit, en minutes, le dlai d'expiration d'une page mise en cache sur un navigateur.
Si l'utilisateur retourne la mme page avant qu'elle ait expir, la version mise en cache s'affiche. Expires est fourni pour des raisons de compatibilit avec les versions prcdentes de ASP.
ExpiresAbsolute Obtient ou dfinit la date et l'heure absolues auxquelles les informations seront supprimes du cache. ExpiresAbsolute est fourni pour des raisons de compatibilit avec les versions prcdentes de ASP.
Filter Obtient ou dfinit un objet wrapping filter utiliser pour modifier le corps d'une entit HTTP avant la transmission.
IsClientConnected Obtient une valeur indiquant si le client est encore connect au serveur. Output Permet la sortie du texte dans le flux de rponse HTTP sortant. OutputStream Permet une sortie binaire vers le corps du contenu HTTP sortant. RedirectLocation Obtient ou dfinit la valeur de l'en-tte HTTP Location . Status Dfinit la ligne Status retourne vers le client. StatusCode Obtient ou dfinit le code d'tat HTTP du rsultat retourn au client. StatusDescription Obtient ou dfinit la chane d'tat HTTP du rsultat retourn au client. SuppressContent Obtient ou dfinit une valeur indiquant si le contenu HTTP doit tre envoy au client.
auteur centre outil type doc millsime version page 26 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Mthodes publiques Description
AddCacheItemDependencies Rend la validit d'un lment mis en cache dpendante d'autres lments du cache. AddCacheItemDependency Rend la validit d'un lment mis en cache dpendante d'un autre lment du cache. AddFileDependencies Ajoute un groupe de noms de fichiers la collection de noms de fichiers dont dpend la
rponse en cours. AddFileDependency Ajoute un seul nom de fichier la collection de noms de fichiers dont dpend la rponse
en cours. AddHeader Ajoute un en-tte HTTP au flux de sortie. AddHeader est fourni pour des raisons de
compatibilit avec les versions prcdentes de ASP. AppendHeader Ajoute un en-tte HTTP au flux de sortie. AppendToLog Ajoute des informations personnalises au fichier journal IIS. ApplyAppPathModifier Ajoute un ID de session au chemin d'accs virtuel si la session utilise un tat de session
sans cookie et retourne le chemin combin. Si ce n'est pas le cas, ApplyAppPathModifier retourne le chemin d'accs virtuel d'origine.
BinaryWrite crit une chane de caractres binaires dans le flux HTTP en sortie. Clear Efface le contenu de sortie du flux de la mmoire tampon. ClearContent Efface le contenu de sortie du flux de la mmoire tampon. ClearHeaders Efface tous les en-ttes dans le flux de la mmoire tampon. Close Ferme la connexion du socket un client. End Envoie l'ensemble de la sortie actuellement dans la mmoire tampon au client, arrte
l'excution de la page et dclenche l'vnement Application_EndRequest. Equals (hrit de Object) Surcharg. Dtermine si deux instances de Object sont gales. Flush Envoie au client l'ensemble de la sortie actuellement en mmoire tampon. GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une able de hachage.
GetType (hrit de Object) Obtient le Type de l'instance en cours. Pics Ajoute un en-tte HTTP PICS-Label au flux de sortie. Redirect Surcharg. Redirige un client vers une nouvelle URL. RemoveOutputCacheItem (static)
La mthode static supprime du cache tous les lments associs au chemin d'accs spcifi.
ToString (hrit de Object) Retourne un String qui reprsente l' Object en cours. Write Surcharg. crit des informations dans le flux d'un contenu HTTP en sortie. WriteFile Surcharg. crit le fichier spcifi directement dans un flux de sortie de contenu HTTP.
) Redirection vers une autre page : Response.redirect()
Response.Redirect("Main.aspx") ;
Cette mthode envoie au navigateur une commande provoquant la demande dune nouvelle page. Response.Redirect prsente linconvnient deffectuer un aller-retour client-serveur supplmentaire.
auteur centre outil type doc millsime version page 27 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Envoi dinformation au navigateur client : Response.Write() et sa notation simplifie =
Lutilisation de la mthode Write() permet lenvoi de code HTML par le serveur. Cependant, pour profiter pleinement de .Net pour lenvoi de texte, il faut utiliser les contrles serveur (par exemple, Label ) prsents au chapitre suivant.
Fichier HTML (ExCours3.aspx)
Utilisation dune variable serveur (C# dfinie dans le code-behind) dans un script client (JavaScript).
ExCours3 var nOrigine=0; function Charge() { if (==0) nOrigine++; frm1.txtValeur.value = nOrigine } Gnration de html Affichage avec Response.Write =
Affichage inline 1 Il faut un point-virgule en fin de ligne !
Affichage avec le signe gal =
Syntaxe quivalent au Response.Write() 1 Il ne faut pas de point-virgule en fin de ligne !
Affichage dune variable serveur (C# dfinie dans le code-behind) dans une balise input de formulaire HTML
Fichier code-behind (ExCours3.aspx.cs) using namespace TPWebAspNet.TestCoursAsp { public class ExCours3 : System.Web.UI.Page { protected string nom = "essai"; protected int origine = 0; private void Page_Load(object sender, System.EventArgs e) { // Placer ici le code utilisateur pour initialiser la page } #region #endregion } }
auteur centre outil type doc millsime version page 28 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Page affiche dans le navigateur
Code source de la page reue par le navigateur ExCours3 var nOrigine=0; function Charge() { if (0==0) nOrigine++; frm1.txtValeur.value = nOrigine } Gnration de html Affichage avec Response.Write = test1 Affichage avec le signe gal = test2
La balise a t modifie
Champ cach
auteur centre outil type doc millsime version page 29 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Accs au flux dentre provenant dune page : classe HttpRequest et objet Request
Proprits publiques Description AcceptTypes Obtient un tableau de chanes contenant les types MIME pris en charge par le client. ApplicationPath Obtient le chemin d'accs racine virtuel de l'application ASP.NET sur le serveur. Browser Obtient des informations sur les fonctionnalits de navigation du client demandeur. ClientCertificate Obtient le certificat de scurit du client pour la demande en cours. ContentEncoding Obtient ou dfinit le jeu de caractres du corps de l'entit. ContentLength Spcifie la longueur en octets du contenu envoy par le client. ContentType Obtient ou dfinit le type de contenu MIME de la demande entrante. Cookies Obtient une collection de cookies envoye par le client. CurrentExecutionFilePath Obtient le chemin d'accs virtuel de la demande en cours. FilePath Obtient le chemin d'accs virtuel de la demande en cours. Files Obtient la collection des fichiers tlchargs par le client (format Multipart MIME). Filter Obtient ou dfinit le filtre utiliser lors de la lecture du flux d'entre en cours. Form Obtient une collection de variables de formulaire : mthode POST Headers Obtient une collection d'en-ttes HTTP. HttpMethod Obtient la mthode de transfert de donnes HTTP (par exemple : GET, POST ou HEAD)
utilise par le client. InputStream Obtient le contenu du corps de l'entit HTTP entrante. IsAuthenticated Obtient une valeur indiquant si l'utilisateur a t authentifi. IsSecureConnection Obtient une valeur indiquant si la connexion HTTP est scurise (c'est--dire de type
HTTPS). Item Obtient l'objet spcifi dans les collections Cookies, Form, QueryString ou ServerVariables.
En C#, cette proprit est l'indexeur pour la classe HttpRequest. Params Obtient une collection complexe d'lments QueryString, Form, ServerVariables et Cookies. Path Obtient le chemin d'accs virtuel de la demande en cours. PathInfo Obtient des informations supplmentaires sur le chemin d'accs d'une ressource avec
extension URL. PhysicalApplicationPath Obtient le chemin d'accs physique, dans le systme de fichiers, du rpertoire racine de
l'application serveur en cours d'excution. PhysicalPath Obtient le chemin d'accs du systme de fichiers physiques correspondant l'URL demande. QueryString Obtient la collection des variables des chanes de requte http : mthode GET RawUrl Obtient l'URL brute de la demande en cours. RequestType Obtient ou dfinit la mthode de transfert de donnes HTTP (GET ou POST) utilise par le
client. ServerVariables Obtient une collection des variables de serveur Web. TotalBytes Obtient le nombre d'octets dans le flux d'entre en cours. Url Obtient des informations sur l'URL de la demande en cours. UrlReferrer Obtient des informations sur l'URL de la prcdente demande du client qui tait lie l'URL
actuelle. UserAgent Obtient la chane de l'agent utilisateur brute du navigateur client. UserHostAddress Obtient l'adresse d'hte IP du client distant. UserHostName Obtient le nom DNS du client distant. UserLanguages Obtient un tableau de chanes tri contenant les prfrences de langue du client.
auteur centre outil type doc millsime version page 30 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Mthodes publiques Description BinaryRead Excute une lecture binaire d'un nombre spcifi d'octets du flux d'entre en cours. Equals (hrit de Object)
Surcharg. Dtermine si deux instances de Object sont gales.
GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetType (hrit de Object)
Obtient le Type de l'instance en cours.
MapImageCoordinates Fait correspondre un paramtre de formulaire avec champ image entrant aux valeurs de coordonnes x/y appropries.
MapPath Surcharg. Fait correspondre le chemin d'accs virtuel de l'URL demande un chemin physique sur le serveur pour la demande en cours.
SaveAs Enregistre une demande HTTP sur un disque. ToString (hrit de Object)
Retourne un String qui reprsente l' Object en cours.
ValidateInput Valide les donnes soumises par un navigateur client et lve une exception en prsence de donnes potentiellement dangereuses.
) Remarques
Le contenu des contrles HTML correspond lattribut value des balises de formulaire.
Ce contenu est rcupr avec Request.Params["NomDuContrle"]
1 Cest lattribut name qui identifie le contrle (et non id ). Un contrle disabled nest pas rcuprable (undefined).
Pour une liste, si la value nest pas prcise, cest le texte situ entre les balises qui est transmis.
auteur centre outil type doc millsime version page 31 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Exemple dutilisation dun formulaire avec de nombreux contrles HTML standards
Acteur ExCours4.htm page client
Saisie
btnOk1
btnOk2
{ou-exclusif}
ExCours4Ctl.aspx page serveur
ExCours4Ctl.aspx page client
Exemple de formulaire HTML (ExCours4.htm)
auteur centre outil type doc mills Michel Astre Beaumont Word 2000 supp. form 13/03
afpa ime version page 32 /06 1 CSharp_ASP63.doc
SUPPORT DE FORMATION ASP.NET
Test formulaire html Nom: Mot de passe: Valeur disabled: Valeur readonly: Zone cache: Boutons radios < legend> legend>Exemple 1 legend>Exemple 2
SUPPORT DE FORMATION ASP.NET
Exemple de page ASP rcuprant les saisies (ExCours4Ctl.aspx) ExCours4Ctl Rcupration des saisies Nom: Mot de passe: Valeur disabled: Valeur readonly: Zone cache: Boutons radios Autres boutons radios Cases cocher TextBox multi-lignes Liste droulante Liste droule Bouton de commande
auteur centre outil type doc millsime version page 34 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Accs au contexte en cours dune demande http : classe HttpContext et objet Context
Proprits publiques Description AllErrors Obtient un tableau d'erreurs accumules pendant le traitement d'une demande HTTP. Application Obtient l'objet HttpApplicationState pour la demande HTTP en cours. ApplicationInstance Obtient ou dfinit l'objet HttpApplication pour la demande HTTP en cours. Cache Obtient l'objet Cache pour la demande HTTP en cours. Current (static) Obtient l'objet HttpContext pour la demande HTTP en cours. Error Obtient la premire erreur (ventuelle) accumule pendant le traitement de la demande HTTP. Handler Obtient ou dfinit l'objet IHttpHandler pour la demande HTTP en cours. IsCustomErrorEnabled Obtient une valeur indiquant si les erreurs personnalises sont autorises pour la demande
HTTP en cours. IsDebuggingEnabled Obtient une valeur indiquant si la demande HTTP en cours est en mode dbogage. Items Obtient une collection valeur de cl qui peut tre utilise pour organiser et partager les
donnes entre IHttpModule et IHttpHandler pendant une demande HTTP. Request Obtient l'objet HttpRequest pour la demande HTTP en cours. Response Obtient l'objet HttpResponse pour la rponse HTTP en cours. Server Obtient l'objet HttpServerUtility qui fournit les mthodes utilises dans le traitement de
demandes Web. Session Obtient l'instance HttpSessionState pour la demande HTTP en cours. SkipAuthorization Obtient ou dfinit une valeur qui spcifie si le module URLAuthorization ignore le contrle
d'autorisation pour la demande en cours. Timestamp Obtient l'horodatage initial de la demande HTTP en cours. Trace Obtient l'objet TraceContext pour la rponse HTTP en cours. User Obtient ou dfinit les informations de scurit pour la demande HTTP en cours.
Mthodes publiques Description
AddError Ajoute une exception la collection d'exceptions pour la demande HTTP en cours. ClearError Efface toutes les erreurs pour la demande HTTP en cours. Equals (hrit de Object) Surcharg. Dtermine si deux instances de Object sont gales. GetAppConfig (static) Retourne les informations de configuration demandes pour l'application en cours. GetConfig Retourne les informations de configuration demandes pour la demande HTTP en cours. GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetType (hrit de Object)
Obtient le Type de l'instance en cours.
RewritePath Surcharg. Assigne un chemin d'accs de rcriture interne. RewritePath permet que l'URL demande soit diffrente du chemin d'accs interne la ressource. RewritePath est utilis dans un tat de session sans cookie.
ToString (hrit de Object)
Retourne un String qui reprsente l' Object en cours.
) Obtention dun chemin d'accs physique (correspondant un chemin d'accs virtuel spcifi sur le
serveur Web)
Exemple : Affiche : c:\inetpub\wwwroot\ASPNET
Equivalent :
auteur centre outil type doc millsime version page 35 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Rcupration de lobjet Page appelant : Context.Handler
public class ExCours2ACtl : System.Web.UI.Page { public ExCours2A page; private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { page = (ExCours2A) Context.Handler; lblNom.Text = page.txtNom.Text; // si la TextBox txtNom est public } } }
auteur centre outil type doc millsime version page 36 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Traitement serveur : classe HTTPServerUtility et objet Server
Proprits publiques Description MachineName Obtient le nom d'ordinateur du serveur. ScriptTimeout Obtient et dfinit le dlai d'attente de la demande en secondes.
Mthodes publiques Description
ClearError Efface l'exception prcdente. CreateObject Surcharg. Cre une instance serveur d'un objet COM (ActiveX) CreateObjectFromClsid Cre une instance serveur d'un objet COM identifie par l'identificateur de classe (CLSID) de
l'objet. Equals (hrit de Object) Surcharg. Dtermine si deux instances de Object sont gales. Execute Surcharg. Excute la demande en cours l'aide d'une autre page. GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetLastError Retourne l'exception prcdente. GetType (hrit de Object)
Obtient le Type de l'instance en cours.
HtmlDecode Surcharg. Dcode une chane qui a t code pour liminer les caractres HTML non valides.
HtmlEncode Surcharg. Code une chane en vue de son affichage dans un navigateur. MapPath Retourne le chemin d'accs du fichier physique qui correspond au chemin d'accs virtuel
spcifi sur le serveur Web. ToString (hrit de Object)
Retourne un String qui reprsente l' Object en cours.
Transfer Surcharg. Termine l'excution de la page en cours et commence l'excution d'une nouvelle page pour la demande en cours.
UrlDecode Surcharg. Dcode une chane code en vue de sa transmission sur HTTP et envoye au serveur dans une URL.
UrlEncode Surcharg. Code une chane en vue de sa transmission fiable sur HTTP via l'URL partir du serveur Web vers un client.
UrlPathEncode Code la partie chemin d'accs d'une chane URL et retourne la chane code.
) Obtention dun chemin d'accs physique (correspondant un chemin d'accs virtuel spcifi sur le
serveur Web) : sCheminPhysique = Server.MapPath(sCheminVirtuel) Exemple : Affiche : c:\inetpub\wwwroot\ASPNET Pour lire MapPath dans un module code-behind, utilisez HttpContext.Current.Server.MapPath.
) Excution dune autre page : Server.Transfer() public class ExCours2B : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { if (IsPostBack) Server.Transfer("ExCours2BCtl.aspx"); } } Cette mthode transfre le contexte une autre page. Ceci prsente lavantage de partager simplement entre les pages les informations de contexte. Par contre, le navigateur ignore ce tranfert et, par consquent, son historique nest pas jour.
auteur centre outil type doc millsime version page 37 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Accs ltat de lapplication : classe HttpApplicationState et objet Application
Une application ASP.NET est lensemble de tous les fichiers, pages, gestionnaires, modules et code situs dans la porte d'un rpertoire virtuel et de ses sous-rpertoires sur un mme serveur Web.
Une instance unique d'une classe HttpApplicationState est cre la premire fois qu'un client demande une ressource URL partir du rpertoire virtuel d'une application ASP.NET particulire. Une instance unique distincte est cre pour chaque application ASP.NET sur un serveur Web. Une rfrence chaque instance est alors expose via l'objet intrinsque Application.
Proprits publiques Description AllKeys Obtient les touches d'accs rapide de la collection HttpApplicationState. Contents Obtient une rfrence l'objet HttpApplicationState. Count Substitu. Obtient le nombre d'objets dans la collection HttpApplicationState. Item Surcharg. Obtient l'accs un objet de la collection HttpApplicationState. Cette proprit
est surcharge pour permettre l'accs un objet par son nom ou son index numrique. En C#, cette proprit est l'indexeur pour la classe HttpApplicationState.
Keys (hrit de NameObjectCollectionBase)
Obtient une instance NameObjectCollectionBase.KeysCollection qui contient toutes les cls dans l'instance NameObjectCollectionBase.
StaticObjects Extrait tous les objets dclars par une balise o la porte a comme valeur Application dans l'application ASP.NET.
Mthodes publiques Description
Add Ajoute un nouvel objet la collection HttpApplicationState. Clear Supprime tous les objets d'une collection HttpApplicationState. Equals (hrit de Object) Surcharg. Dtermine si deux instances de Object sont gales. Get Surcharg. Obtient un objet HttpApplicationState par son nom ou son index. GetEnumerator (hrit de NameObjectCollectionBase)
Retourne un numrateur qui peut itrer sur le NameObjectCollectionBase.
GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetKey Obtient un nom d'objet HttpApplicationState par son index. GetObjectData (hrit de NameObjectCollectionBase)
Implmente l'interface ISerializable et retourne les donnes requises pour srialiser l'instance NameObjectCollectionBase.
GetType (hrit de Object) Obtient le Type de l'instance en cours. Lock Verrouille l'accs une variable HttpApplicationState pour faciliter la synchronisation
d'accs. OnDeserialization (hrit de NameObjectCollectionBase)
Implmente l'interface ISerializable et dclenche l'vnement de dsrialisation une fois que la dsrialisation est termine.
Remove Supprime l'objet nomm d'une collection HttpApplicationState. RemoveAll Supprime tous les objets d'une collection HttpApplicationState. RemoveAt Supprime un objet d'une collection HttpApplicationState par index. Set Met jour la valeur d'un objet dans une collection HttpApplicationState. ToString (hrit de Object) Retourne un String qui reprsente l' Object en cours. UnLock Dverrouille l'accs une variable HttpApplicationState pour faciliter la synchronisation
d'accs.
auteur centre outil type doc millsime version page 38 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Accs ltat de la session : classe HttpSessionState et objet Session
Proprits publiques Description CodePage Obtient ou dfinit l'identificateur de page de codes de la session en cours. Contents Obtient une rfrence l'objet tat de session en cours. Count Obtient le nombre d'lments dans la collection. IsCookieless Obtient une valeur indiquant si l'ID de session est incorpor dans l'URL ou stock dans un cookie
HTTP. IsNewSession Obtient une valeur indiquant si la session a t cre avec la demande en cours. IsReadOnly Obtient une valeur indiquant si la session est en lecture seule. IsSynchronized Obtient une valeur indiquant si l'accs la collection de valeurs d'tat de session est synchronis
(thread-safe). Item Surcharg. Obtient ou dfinit des valeurs de session individuelles.
En C#, cette proprit est l'indexeur pour la classe HttpSessionState. Keys Obtient une collection des cls de toutes les valeurs stockes dans la session. LCID Obtient ou dfinit l'identificateur de paramtres rgionaux (LCID) de la session en cours. Mode Obtient le mode d'tat de session en cours. SessionID Obtient l'ID de session unique servant identifier la session. StaticObjects Obtient une collection d'objets dclare par des balises dans le fichier d'application ASP.NET global.asax. SyncRoot Obtient un objet qui peut tre utilis pour synchroniser l'accs la collection de valeurs relatives
aux tats de session. Timeout Obtient et dfinit le dlai (en minutes) autoris entre demandes pour que le fournisseur de l'tat
de session termine la session.
Mthodes publiques Description
Abandon Annule la session en cours. Add Ajoute un nouvel lment l'tat de session. Clear Supprime toutes les valeurs de l'tat de session. CopyTo Copie la collection de valeurs d'tat de session dans un tableau unidimensionnel, en commenant
l'index spcifi du tableau. Equals (hrit de Object)
Surcharg. Dtermine si deux instances de Object sont gales.
GetEnumerator Obtient un numrateur de toutes les valeurs d'tat de session de la session en cours. GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetType (hrit de Object)
Obtient le Type de l'instance en cours.
Remove Supprime un lment de la collection d'tats de session. RemoveAll Supprime toutes les valeurs de l'tat de session. RemoveAt Supprime de la collection d'tats de session un lment situ un index spcifi. ToString (hrit de Object)
Retourne un String qui reprsente l' Object en cours.
auteur centre outil type doc millsime version page 39 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Gestion des messages de diagnostics : classe TraceContext et objet Trace
Proprits publiques Description IsEnabled Indique si le suivi est activ pour la demande Web en cours. TraceMode Obtient ou dfinit l'ordre tri dans lequel les messages de suivi doivent tre gnrs sur un
navigateur demandeur.
Mthodes publiques Description Equals (hrit de Object) Surcharg. Dtermine si deux instances de Object sont gales. GetHashCode (hrit de Object)
Sert de fonction de hachage pour un type particulier, adapt une utilisation dans des algorithmes de hachage et des structures de donnes telles qu'une table de hachage.
GetType (hrit de Object)
Obtient le Type de l'instance en cours.
ToString (hrit de Object)
Retourne un String qui reprsente l' Object en cours.
Warn Surcharg. crit des informations de suivi dans le journal de suivi. Contrairement Write, tous les avertissements s'affichent dans le journal en texte rouge.
Write Surcharg. crit des informations de suivi dans le journal de suivi.
auteur centre outil type doc millsime version page 40 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Exercices sur les objets ASP
Exercice daffichage : Response.Write() ) Reprendre lexemple du cours ExCours3.aspx . ) Afficher la page dans le navigateur.
Visualiser le rsultat des affichages.
Visualiser le code source de cette page, et le comparer au code serveur dorigine. Exercice de formulaire : Request.Params ) Reprendre lexemple du cours ExCours4.htm et ExCours4Ctl.aspx ) Afficher la page html dans le navigateur.
Effectuer une saisie dans les diffrents contrles du formulaire, puis valider. Visualiser le rsultat de laffichage de la page de rponse.
Visualiser le code source de cette page, et le comparer au code serveur dorigine.
auteur centre outil type doc millsime version page 41 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Contrles graphiques serveurs
Dveloppement RAD
Le RAD, offert par les contrles serveur, permet un dveloppement plus rapise ainsi que la gnration de code en fonction du client.
Contenu dune page Web Forms
Contrle HTML standard Contrle serveur HTML Contrles serveur Web Barre doutils HTML HTML Web Forms Exemple de code crit dans la page
Exemple de code reu par le navigateur
identique
Exemple de classe de contrle serveur
aucune HtmlInputText TextBox
Degr de complexit + ++ +++ Avantages Offre une reprsentation
ct serveur de balises html
Offre une reprsentation ct serveur de contrles complexes (Grid,
calendrier, ) qui ne correspondent pas forcment une balise html lmentaire
) Elments programmables uniquement avec du script client (et non contrls partir de code
serveur).
Texte HTML statique Images ou autre ressource prise en charge par un type Mime. Contrles HTML standard (par exemple, un bouton d'envoi HTML)
) Elments excuts dabord sur le serveur.
Lorsque la page s'excute, ces contrles sont instancis dans le code serveur dans le cadre de la classe de page. Lorsque les utilisateurs se servent des contrles (par exemple, lorsqu'ils cliquent sur un contrle de bouton dans une page Web Forms), le code associ au contrle s'excute sur le serveur une fois la page publie. Dans le code serveur, vous pouvez crire des gestionnaires d'vnements pour les contrles serveur, dfinir leurs proprits, etc.
Contrles serveur HTML : voir ci-dessous Contrles serveur Web : voir ci-dessous Contrles serveur de validation : contrles incorporant une logique qui vous permet de tester les
entres d'utilisateur (saisie obligatoire, plage de valeurs,...) et d'afficher un message personnalis lorsque la validation a chou. Le contrle de validation doit tre attach un contrle serveur d'entre.
Contrles utilisateur : contrles personnaliss que vous pouvez crer en tant que pages Web Forms.
auteur centre outil type doc millsime version page 42 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Comparaison des contrles graphiques
Contrle Visual Basic 6.0
Contrle Windows Forms Contrle HTML standard Contrle serveur HTML Contrle serveur ASP.NET
Animation Les images situes sur les contrles prennent en charge les images GIF animes
N/A N/A N/A
CheckBox ComboBox HtmlInputCheckBox CheckBox, CheckBoxList ComboBox ComboBox N/A N/A DropDownList CommandButton Button
HtmlInputButton, HtmlButton
Button, LinkButton
CommandButton Button HtmlInputImage ImageButton CommonDialog FileDialog, PrintDialog,
ColorDialog, FontDialog N/A N/A N/A
DataGrid DataGrid HtmlTable DataGrid, Repeater
DateTimePicker DateTimePicker N/A N/A N/A FileSystemObject Classes dans System.IO N/A N/A N/A Form Form
HtmlForm N/A
Frame GroupBox, Panel
N/A Panel
HScrollBar, VScrollBar
HscrollBar, VscrollBar N/A N/A N/A
ImageCombo ComboBox N/A N/A N/A ImageList ImageList N/A N/A N/A Internet Transfer Classes dans System.Net N/A HtmlInputFile N/A Label Label
N/A Label
ListBox ListBox
HtmlSelect ListBox, DataList
ListView ListView N/A N/A N/A Menu MainMenu, ContextMenu N/A N/A N/A MonthView MonthCalendar N/A N/A Calendar N/A N/A HtmlAnchor HyperLink N/A N/A HtmlInputFile OptionButton RadioButton HtmlInputRadioButton RadioButton,
RadioButtonList PictureBox PictureBox HtmlImage Image ProgressBar ProgressBar N/A N/A N/A RichTextBox RichTextBox N/A N/A N/A Slider TrackBar N/A N/A N/A SSTab, TabStrip TabControl N/A N/A N/A StatusBar StatusBar N/A N/A N/A TextBox TextBox
HtmlInputText HtmlInputHidden HtmlTextArea
TextBox
Timer Timer N/A N/A N/A Toolbar Toolbar N/A N/A N/A TreeView TreeView N/A N/A N/A UpDown NumericUpDown,
DomainUpDown N/A N/A N/A
WinSock Classes dans System.Net N/A N/A N/A
auteur centre outil type doc millsime version page 43 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Contrles serveur ) Hirarchie des classes de contrles serveur
Object Control
HtmlControl HtmlContainerControl HtmlAnchor HtmlButton HtmlForm HtmlGenericControl HtmlSelect HtmlTable HtmlTableCell HtmlTableRow HtmlTextArea HtmlImage HtmlInputControl HtmlInputButton HtmlInputCheckBox HtmlInputFile HtmlInputHidden HtmlInputImage HtmlInputRadioButton HtmlInputText
WebControl AdRotator BaseDataList Button Calendar CheckBox RadioButton DataListItem HyperLink Image Label LinkButton ListControl CheckBoxList DropDownList ListBox RadioButtonList Panel Table TableCell TableRow TextBox ValidationSummary TemplateControl Page UserControl
auteur centre outil type doc millsime version page 44 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Membres de la classe Control
Principales proprits
Description
ClientID Obtient l'identificateur de contrle serveur gnr par ASP.NET. Controls Obtient un objet ControlCollection qui reprsente les contrles enfants d'un contrle serveur spcifi
dans la hirarchie de l'interface utilisateur. EnableViewState Obtient ou dfinit une valeur indiquant si le contrle serveur rend persistant son tat d'affichage,
ainsi que celui de tous les contrles enfants qu'il contient, sur le client l'origine de la demande. = true si le contrle serveur conserve son tat d'affichage (par dfaut)
ID Obtient ou dfinit l'ID programmatique assign au contrle serveur. Page Obtient une rfrence l'instance de Page qui contient le contrle serveur. Parent Obtient une rfrence au contrle parent du contrle serveur dans la hirarchie des contrles de la
page. Visible Obtient ou dfinit une valeur qui indique si un contrle serveur est rendu sous la forme d'une interface
utilisateur sur la page. Principales mthodes Description DataBind Lie une source de donnes au contrle serveur appel et tous ses contrles enfants. Dispose Permet un contrle serveur d'effectuer le nettoyage final avant qu'il soit libr de la mmoire. FindControl Surcharg. Recherche le contrle serveur spcifi dans le conteneur de dnomination en cours. HasControls Dtermine si le contrle serveur contient des contrles enfants.
Principaux vnements
Description
DataBinding Se produit lorsque le contrle serveur se lie une source de donnes. Disposed Se produit lorsqu'un contrle serveur est libr de la mmoire, ce qui constitue la dernire tape du
cycle de vie d'un contrle serveur en cas de demande d'une page ASP.NET. Init Se produit lorsque le contrle serveur est initialis, ce qui constitue la premire tape de son cycle de
vie. Load Se produit lorsque le contrle serveur est charg dans l'objet Page. PreRender Se produit lorsque le contrle serveur est sur le point de se gnrer sur son objet Page contenant. Unload Se produit lorsque le contrle serveur est dcharg de la mmoire.
) Membres de la classe WebControl
Principales proprits
Description
Enabled Obtient ou dfinit une valeur indiquant si le contrle serveur Web est activ. TabIndex Obtient ou dfinit l'index de tabulation du contrle serveur Web. ToolTip Obtient ou dfinit le texte affich quand le pointeur de la souris est positionn sur le contrle.
) Membres de la classe Button
Principales proprits
Description
CausesValidation Obtient ou dfinit une valeur indiquant si la validation est effectue lorsqu'un clic a t effectu CommandArgument Obtient ou dfinit un paramtre pass l'vnement Command avec la proprit CommandName. CommandName Obtient ou dfinit le nom de la commande qui est pass l'vnement Command. Text Obtient ou dfinit le texte de la lgende affich dans le contrle Button.
Principaux vnements
Description
Click Se produit lorsqu'un clic est effectu sur le contrle Button. Command Se produit lorsqu'un clic est effectu sur le contrle Button.
auteur centre outil type doc millsime version page 45 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Autres membres des classes de contrles
Principales proprits
TextBox CheckBox ListControl
Description
AutoPostBack X X X 1 Si les boutons de commande renvoient automatiquement au serveur, ce nest pas le cas dautres contrles. La proprit AutoPostBack doit tre gale true pour publier automatiquement l'tat du contrle sur le serveur aprs un vnement (false par dfaut).
Checked X Obtient ou dfinit une valeur indiquant si le contrle CheckBox est activ.
DataMember X Obtient ou dfinit un tableau spcifique dans DataSource lier au contrle.
DataSource X Obtient ou dfinit la source de donnes remplissant les lments du contrle de liste.
DataTextField X Obtient ou dfinit le champ de la source de donnes fournissant le texte des lments de la liste.
DataTextFormatString X Obtient ou dfinit la chane de mise en forme permettant
de contrler l'affichage des donnes lies au contrle de liste.
DataValueField X Obtient ou dfinit le champ de la source de donnes fournissant la valeur de chaque lment de la liste.
Items X Obtient la collection ListItemCollection (voir ci-dessous) des lments figurant dans le contrle de liste. MaxLength X Obtient ou dfinit le nombre maximal de caractres
autoriss dans la zone de texte. ReadOnly X X Obtient ou dfinit une valeur qui indique si le contenu du
contrle TextBox peut tre modifi. SelectedIndex X Obtient ou dfinit l'index ordinal le moins lev des
lments slectionns dans la liste. SelectedItem X Obtient l'lment slectionn avec l'index le moins lev
dans le contrle de liste. SelectedValue X Obtient la valeur de l'lment slectionn dans le contrle
de liste ou slectionne, dans ce contrle, l'lment qui contient la valeur spcifie.
Text X (contenu de la TextBox)
X (tiquette associe)
Texte
TextMode X Obtient ou dfinit le mode de comportement (monoligne, multiligne ou mot de passe) du contrle TextBox.
Wrap X Obtient ou dfinit une valeur indiquant si le texte est envelopp dans une zone de texte multiligne. true si le texte est envelopp dans une zone de texte multiligne ; sinon, false. La valeur par dfaut est true.
auteur centre outil type doc millsime version page 46 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
Principaux vnements TextBox CheckBox ListControl
Description
CheckedChanged X Se produit en cas de modification de la valeur de la proprit Checked d'une publication une autre sur le serveur.
TextChanged X Se produit lorsque le contenu de la zone de texte change entre des publications sur le serveur.
SelectedIndexChanged X Se produit lorsque la slection du contrle de liste change
SUPPORT DE FORMATION ASP.NET
entre des publications sur le serveur.
auteur centre outil type doc millsime version page 47 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Membres de ListItemCollection : obtenue par la proprit ListBox.Items
Proprits Description Capacity Obtient ou dfinit le nombre maximal d'lments que ListItemCollection peut stocker. Count Obtient le nombre d'objets ListItem dans la collection. IsReadOnly Obtient une valeur indiquant si ListItemCollection est en lecture seule. IsSynchronized Obtient une valeur indiquant si l'accs ListItemCollection est synchronis (thread-safe).
Item Obtient ListItem (voir ci-dessus) l'index spcifi dans la collection. En C#, cette proprit est l'indexeur pour la classe ListItemCollection. SyncRoot Obtient l'objet pouvant permettre de synchroniser l'accs ListItemCollection.
Principales mthodes Description Add Surcharg. Ajoute ListItem la fin de la collection. AddRange Ajoute les lments d'un tableau d'objets ListItem la collection. Clear Supprime tous les objets ListItem de la collection. Contains Dtermine si la collection contient l'lment spcifi. FindByText Recherche dans la collection un ListItem dont la proprit Text contient le texte spcifi. FindByValue Recherche dans la collection un ListItem dont la proprit Value contient la valeur spcifie.
GetEnumerator Retourne un objet System.Collections.IEnumerator implment qui contient tous les objets ListItem dans ListItemCollection. IndexOf Dtermine la valeur d'index reprsentant la position du ListItem spcifi dans la collection. Insert Surcharg. Insre ListItem dans la collection l'index spcifi. Remove Surcharg. Enlve ListItem de la collection. RemoveAt Supprime ListItem de la collection l'index spcifi.
) Membres de ListItem : obtenue par la proprit ListItemCollection.Item
Principales proprits
Description
Selected Obtient ou dfinit une valeur indiquant si l'lment est slectionn. Text Obtient ou dfinit le texte afficher dans un contrle de liste pour l'lment reprsent par ListItem. Value Obtient ou dfinit la valeur associe ListItem.
auteur centre outil type doc millsime version page 48 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Contrles serveur HTML : lments HTML marqus comme programmables dans le code serveur.
En rgle gnrale, vous convertissez les lments HTML en contrles serveur HTML uniquement si vous avez des raisons de vouloir les programmer partir du code serveur. Dmarche en mode design (voir exemplesuivant)
drag & drop dun contrle HTML, puis conversion en contrle serveur avec le menu contextuel. Un symbole s'affiche dans le coin suprieur gauche du contrle pour indiquer qu'il s'agit d'un contrle serveur. La balise html du contrle est complt avec l'attribut runat="server" . Si vous souhaitez faire rfrence au contrle comme membre de votre code, vous devez galement assigner un attribut id au contrle.
Ces contrles offrent plus de fonctionnalits que les contrles standards HTML : - Un modle objet troitement mapp sur celui des lments HTML correspondants. Par exemple,
les attributs HTML sont exposs dans les contrles serveur HTML comme des proprits. - Un ensemble d'vnements pour lesquels vous pouvez crire des gestionnaires d'vnements de la
mme faon que vous le feriez dans un formulaire client, except que l'vnement est gr dans le code serveur. La possibilit de grer des vnements dans le script client.
- Gestion automatique de l'tat d'un contrle. Si le formulaire fait un aller-retour vers le serveur,
les valeurs que l'utilisateur a entres dans les contrles serveur HTML sont gres automatiquement lorsque la page est renvoye au navigateur.
- L'interaction avec les contrles de validation de faon ce que vous puissiez facilement vrifier
qu'un utilisateur a entr les informations appropries dans un contrle. - La liaison de donnes avec une ou plusieurs proprits du contrle. - La prise en charge des styles HTML 4.0 si la page Web Forms est affiche dans un navigateur
qui prend en charge les feuilles de styles en cascade. - La transmission directe des attributs personnaliss. Vous pouvez ajouter tous les attributs dont
vous avez besoin dans un contrle serveur HTML. L'infrastructure de page les lira et en donnera un rendu sans aucun changement dans le fonctionnement. Ceci vous permet d'ajouter des attributs limits un navigateur spcifique vos contrles.
auteur centre outil type doc millsime version page 49 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
) Contrles serveur Web (Web Control) : contrles spcifiques aux Web Forms.
Ces contrles sont abstraits. Lorsque la page Web Forms s'excute, le contrle html rel gnr dpend du type du navigateur et des paramtres que vous avez dfinis pour le contrle. Par exemple, un contrle TextBox peut tre rendu sous forme de balise ou en fonction de ses proprits. Dmarche en mode design
drag & drop dun contrle Web Forms. Un symbole s'affiche dans le coin suprieur gauche du contrle pour indiquer qu'il s'agit d'un contrle serveur. La balise html du contrle est au format . Dans ce cas, les attributs ne sont pas ceux des lments HTML ; ce sont des proprits du contrle Web. 1 Il faut indiquer runat="server" sur la balise
Ces contrles offrent plus de fonctionnalits que les contrles serveur HTML et ne se mappent
pas directement sur les lments HTML :
- Les contrles serveur Web offrent toutes les fonctionnalits dcrites prcdemment pour les contrles serveur HTML (sauf le mappage avec les lments HTML).
- Un objet modle labor fournit des fonctionnalits de programmation de type scuris. - Dtection automatique du navigateur : les contrles peuvent dtecter les fonctionnalits du
navigateur et crer la sortie approprie pour les navigateurs de base et les navigateurs labors (HTML 4.0).
- Pour certains contrles, il est possible de dfinir une apparence spcifique pour le contrle l'aide
de modles. - Pour certains contrles, il est possible de spcifier si un vnement du contrle provoque une
publication immdiate vers le serveur ou s'il est mis en cache et dclench lorsque le formulaire est soumis.
- Il est possible de passer des vnements d'un contrle imbriqu (tel qu'un bouton dans un tableau)
au contrle conteneur.
auteur centre outil type doc millsime version page 50 Michel Astre Beaumont Word 2000 supp. form 13/03/06 1 CSharp_ASP63.doc
afpa
SUPPORT DE FORMATION ASP.NET
Objet Page
La classe Page est associe aux fichiers ayant une extension .aspx. Ces fichiers sont compils au moment de l'excution en tant qu'objets Page et mis en cache dans la mmoire du serveur. Exemple de classe contenue dans le code behind : public class ExCours1 : System.Web.UI.Page { }
Proprits publiques Description
Application Obtient l'objet Application pour la demande Web en cours. Cache Obtient l'objet Cache associ l'application dans laquelle rside la page. ClientID (hrit de Control) Obtient l'identificateur de contrle serveur gnr par ASP.NET. ClientTarget Obtient ou dfinit une valeur qui vous permet de substituer la dtection automatique des
fonctionnalits d'un navigateur et de spcifier
Recommended