Académique Documents
Professionnel Documents
Culture Documents
ASP.NET
Syrine Khiari-Sami Ayari ESPRIT
2011-2012
Quest ce quASP.net ?
ASP.net est une technologie .NET. Il permet la programmation dapplications Web dynamiques, du ct du serveur. Les navigateurs Web, laide de pages au format html, servent donc dinterface entre lapplication .NET et lutilisateur.
Contrles Serveur
HTML FireFox
.NET
HTML Netscape
ASPX
HTML Opra
ASP.net
Version .NET dASP. : utilis pour la cration de site Web dynamique 3 types de pages : ASPX, ASMX pour les Web services, ASCX pour les contrles utilisateurs. ASP.net fait partie intgrante du FrameWork et bnficie de toutes ses fonctionnalits (classes de base). Les Pages ASP.net sont compils et excut par la CLR : code manag, possibilit debugging . Le code peut-tre spar totalement de la partie prsentation. Apparition des contrles serveurs. Sappuie toujours sur IIS.
Fonctionnement
Page Directive Server side code Form Normal HTML Structure Server Controls
Script de traitements
Les scripts doivent se trouver entre la balise html ouvrante <head> <script language= "c# " runat= "server "> </script>
<body> <form runat="server "> <h2> Date du jour : <% =DateTime.Now.ToString() %> </h2> </form> </body>
11
13
Le code behind hrite de System.Web.UI.Page et qui appartiendra au namespace du nom de votre projet. Autre modification, votre page aspx n'hritera plus de System.Web.UI.Page mais de votre classe.
15
La compilation
Votre code compil est stock dans une assembly (sous la forme d'une DLL) dans le sous rpertoire bin/ de votre site. C'est partir de cette librairie que le runtime ASP.NET va instancier les diffrents objets de vos pages.
16
17
HandsHands-on Lab.
ASP.NET Configuration
20
Web.Config
Similaire app.config dans Windows Form application. Fichier de configuration. Fournir des paramtres d'application. En XML, il est donc facile changer et de le parser.
Web.Config
HandsHands-on Lab.
Master pages
default.aspx
<%@ Page MasterPageFile="Site.master" %> <asp:Content ContentPlaceHolderID= "Main" RunAt="server" />
http://.../default.aspx
</asp:Content>
26
%>
27
Master Pages
HandsHands-on Lab.
Skins et Themes
Theme
Qu'est-ce qu'un thme? Un thme est une collection de paramtres de proprit qui vous permettent de dfinir l'apparence des pages et des contrles Un theme contient: skins, cascading style sheets (CSS), images, Et autres resources
skin
Qu'est-ce qu'un fichier skin? Un fichier skin a l'extension de nom de fichier.skin Appartient un certain thme Contient les paramtres de proprit pour des contrles individuels
Skins et Themes
Pour une page
Page.Theme = "BasicBlue"
Skins et Themes
Site ASP.NET
Nom de Theme
App_Themes
SKIN
BasicBlue
SKIN
SKIN
SmokeAndGlass
SKIN
Skins et Themes
Skins sans SkinID sont des default skins Skins avec SkinID sont des named skins
SkinID doit tre unique par type de contrle
On utilise les proprits des contrles SkinID appliquer les skins noms.
default skins
Mais avec Skins, vous laissez le fichier skin faire le travail de design. Dans la page:
<asp:button ID=btnNew runat="server" />
named skins
Dans le fichier skin:
<!-- Default look for DropDownList controls --> <asp:DropDownList runat="server" BackColor="blue" ForeColor="white" SkinID="Blue" />
Dans la page:
<asp:DropDownList ID="Countries" SkinID="Blue" RunAt="server" />
Navigation
38
Navigation
Response.Redirect(url) Elle permet de rediriger le Browser vers ladresse url Le browser gnre donc une requte http
Navigation
Response.Redirect(url) Avantage : facile utiliser Inconvnient : QueryString a une longueur maximale QueryString est visible
40
Navigation
Server.Transfer() Affiche la page de destination Pas de requte http gnre
41
Navigation
Server.Transfer() Avantage : Allge les requtes sur le serveur web Lurl ne s affiche pas dans le browser Inconvnient : Pas de redirection vers des sites hors serveur web Difficile dbuguer
42
La gestion dEtat
Des vnements du contrle serveur ASP.NET sont traites lorsque la page Web est renvoye sur le serveur Utilisez la proprit Page.IsPostback pour dterminer si la page Web est gnr pour la premire fois private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request }
Session State
Session : Cest un programme excut par un utilisateur pendant une priode donne Variables de session : Ce sont des variables utilises par chaque session ASP .Net : Les variables session sont enregistrs dans une collection dobjets qui porte le mme nom
46
Session State
Enregistrement de donnes
Rcupration de donnes
47
Application State
Cest une variable qui est partag par toutes les pages et tous les utilisateurs. On y place gnralement des donnes non spcifiques aux utilisateurs. Pour initialiser les variables on utilise souvent la classe globale (Global.asax : voir plus loin).
48
Application State
Exemple : cration
49
Application State
Exemple : dapplication
rcupration
de
donnes
50
Classe Globale
Cest une classe globale lApplication (comme une variable globale dapplication) Se trouve dans le fichier Global.asax Cest un fichier (optionnel pour le bon fonctionnement des applications .Net) qui contient du code pour rpondre aux vnements de niveau application ou session dclenchs par ASP.NET.
51
Classe Globale
52
Cache State
Le cache est un contexte de donnes situ ct serveur et qui est partag par tous les utilisateurs Leurs gestion est donc difficile et dlicate Parmi les proprits diffrentes de lapplication state La dure de vie
53
View State
Le ViewState est donc une variable qui se loge cot client! Il permet de conserver ltat de certains contrles serveur aprs un PostBack Transform en <input type="hidden" />
54
Hidden fields
Une manire pour cacher des informations dans la page web
55
Cookies
Un Cookie est une petite quantit de donnes stocke soit dans un fichier texte dans le systme de fichier client (si le Cookie est persistant) soit en mmoire dans les sessions du navigateur client (si le Cookie est temporaire) Les Cookies sont le moyen le plus flexible et le plus fiable pour stocker des informations sur le poste client.
56
Cookies
Exemple : ~ 20 cookies par site 4 Ko par cookie
57
Cookies
Plusieurs sous cls par cookie Si vous stockez cinq sous-cls la place de cinq cookies distincts, vous conomisez la charge mmoire de ces cookies.
58
HandsHands-on Lab.
Dploiement
60
IIS 7.0
IIS7 est la dernire version du serveur web de Microsoft, ce dernier est rattach, dans une version allge, Windows Vista et dans sa version intgrale Windows Server 2008. Une version de Windows Server 2008 lui est entirement ddie avec Windows Web Server 2008.
61
tape 1: A partir de Visual Studio, publiez votre application Web. tape 2: Copiez le dossier de l'application publie dans "C: \ intepub \ wwwroot" dossier [par dfaut]. tape 3: Du RUN -> inetmgr -> OK
62
HandsHands-on Lab.