Professional Documents
Culture Documents
Sommaire
Introduction ASP .NET Les contrles WEB Accs aux bases de donnes ADO .NET Nouveauts ASP 2.0 Pages Master et Thmes/skins Nouveaux contrles daccs aux donnes Gestion des membres (Scurit daccs) Web parts
Lobjet Page possde une proprit IsPostBack de type Boolen ( true ou false ) qui permet de diffrencier entre les deux cas :
False pour une premire demande True pour une publication. 6
Fichiers *.ascx
Ces fichiers reprsentent les UserControl. Lavantage dun UserControl est que lon peut le rutiliser. En effet, une fois le UserControl dvelopp, il suffira de faire du dragn drop du composant sur le WebForm, et le UserControl pourra tre donc utilis par plusieurs WebForms.
Fichiers *.asmx
Ces fichiers reprsentent les WebServices.
Visual Web Developer 2005 Express Edition, un IDE gratuit de chez Microsoft
10
11
12
13
Web Forms
Sparation prsentation/logique
Le contenu et le traitement sont spars
ASP
Un seul fichier
ASP .NET
Fichiers distincts / sparation logique
14
Web Forms
Flux aspx / code-behind / vnement
15
16
17
Exemple de configuration
Le fichier de configuration ci-dessus permet daccder aux sections de configurations des applications Web WebApp1 et WebApp2.
18
19
Le fichier Global.asax
Le fichier Global.asax permet de grer les vnements dune application. Ce fichier doit se trouver la racine de lapplication Web. ASP.NET va compiler automatiquement le fichier dans une classe, qui est la classe HttpApplication .
20
21
Dboggage et trace
Le Framework .NET met disposition du dveloppeur des outils de dbogage qui vont permettre de faciliter la recherche derreurs en regardant pas pas le fonctionnement dune application ASP.NET Options de trace Enabled
Les informations de trace sont stockes. Elles sont accessibles travers : http://site/trace.axd
RequestLimit
Ne stocke les infos de trace que pour le nombre de requtes fourni
PageOutput
Permet davoir les infos de trace galement en base de la page
TraceMode
Permet de trier les infos de trace par date ou catgorie
22
Dboggage et trace
Pour activer le dboguage au sein de vos applications ASP.NET, il faut ajouter au fichier de configuration Web llment Compilation dans la section Configuration :
On peut ensuite placer des points darrt dans le code de lapplication pour ensuite la dboguer pas pas Pour dboguer une application, il est parfois utile dafficher la liste de toutes les variables de lapplication et dy ajouter ses propres messages. Le trace va permettre tout cela. Il existe deux types de traage : Traage au niveau de la page Traage au niveau de lapplication.
M. Romdhani, INSAT, Novembre 2005
23
24
Contrles utilisateurs
Les contrles client peuvent embarquer du code JavaScript et ainsi sexcuter sur le navigateur du poste client, si celuici le supporte. Avec les contrles utilisateur on peut crer des contrles qui pourront tre utiliss par plusieurs applications. Les WebForms ont pour extension *.aspx . Les Contrles utilisateur ont eux pour extension *.ascx . Pour utiliser des contrles utilisateur au sein dune WebForm, il faut absolument enregistrer ce contrle dans la page. Ceci peut tre fait via la directive Register .
25
IDE VS2005
Windows Form
ADO.NET 2.0
SQL Server 2005
CLR 2.0
26
Contrles de donnes
Web Parts
Page Framework
Pages Master
Thmes et Skins
Mobilit et Localisation
Compilation
Services et APIs
Membres
Profils
Configuration
Plan de Sites
Monitoring
27
ASP.NET 2.0
Pages Master
Page Master Page de contenu
29
PlaceHolder
30
<%@ Page MasterPageFile="~/Site.master" %> <asp:Content ContentPlaceHolderID="Main" RunAt="server"> This content fills the place holder "Main" defined in the master page </asp:Content> On remplit le PlaceHolder de la page Master
M. Romdhani, INSAT, Novembre 2005
31
32
33
<%@ Master %> <asp:ContentPlaceHolder ID="Main" RunAt="server"> This is default content that will appear in the absence of a matching Content control in a content page <asp:ContentPlaceHolder>
34
Thmes et Skins
Skin : Attributs visuels pour les contrles (boutons, champs texte, etc.) Stocks dans les fichiers .skin Skins par dfaut et Skins dfinis Thme : Collection dun ou plusieurs skins Stockes dans les sous rpertoires Themes Thmes globaux et thmes spcifiques un rpertoire
35
Avant
Aprs
36
37
38
39
ASP.NET 2.0
<!-- ASP.NET 1.x data binding expression --> <%# DataBinder.Eval (Container.DataItem, "Price") %> <!-- Equivalent ASP.NET 2.0 data binding expression --> <%# Eval ("Price") %> <!-- XML data binding --> <%# XPath ("Price") %>
41
Contrles DataSource
Nouveaux contrles DataSource SQLDataSource : Connecte des contrles des bases de donnes SQL XMLDataSource : Connecte des contrles des donnes XML ObjectDataSource : Connecte des contrles des objets mtiers SiteMapDataSource : Connecte des contrles des objets SiteMap .
42
ConnectionString : Chane de connexion la base de donnes SelectCommand : Commande excuter pour rcuprer les enregistrements InsertCommand : Commande excuter pour insrer les enregistrements UpdateCommand : Commande excuter pour modifier les enregistrements DeleteCommand : Commande excuter pour supprimer les enregistrements ProviderName : Nom du provider utiliser (Oracle, SQL, )
43
Utilisation de SqlDataSource
<asp:SqlDataSource ID="Titles" RunAt="server" ConnectionString="server=localhost;database=pubs;integrated security=true" SelectCommand="select title_id, title, price from titles" /> <asp:DataGrid DataSourceID="Titles" RunAt="server" />
44
<asp:SqlDataSource ID="Countries" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select distinct country from customers order by country" EnableCaching="true" CacheDuration="60" /> <asp:DropDownList ID="MyDropDownList" DataSourceID="Countries" DataTextField="country" AutoPostBack="true" RunAt="server" />
45
Commandes paramtres
<asp:SqlDataSource ID="Countries" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select distinct country from customers order by country" /> <asp:SqlDataSource ID="Customers" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select * from customers where country=@Country"> <SelectParameters> <asp:ControlParameter Name="Country" ControlID="MyDropDownList" PropertyName="SelectedValue" /> </SelectParameters> </asp:SqlDataSource> <asp:DropDownList ID="MyDropDownList" DataSourceID="Countries" DataTextField="country" AutoPostBack="true" RunAt="server" /> <asp:DataGrid DataSourceID="Customers" RunAt="server" />
46
XmlDataSource
Binding dans un seul sens (pas de mise jour) Dclaration du fichier Data source Supporte la mise en cache et les transformations XSL
<asp:XmlDataSource ID="Rates" DataFile="Rates.xml" RunAt="server" /> <asp:TreeView ID="MyTreeView" DataSourceID="Rates" RunAt="server" />
47
ObjectDataSource
Data Binding Bi Directionnel SelectMethod, InsertMethod, UpdateMethod, et DeleteMethod Data Binding avec une couche mtier Permet de sparer la couche prsentation de la couche mtierTwo-way data binding Mise en cache des donnes Commandes paramtrables
48
Contrle GridView
Super DataGrid Support pour le Sorting, paging, selecting, updating et deleting - 0 code Nouveaux types de colonnes ImageFields et CheckBoxFields Trs facilement personnalisable
49
Exemple de GridView
<asp:SqlDataSource ID="Employees" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select lastname, firstname, title from employees" /> <asp:GridView DataSourceID="Employees" Width="100%" RunAt="server" />
50
Types de colonnes
<asp:SqlDataSource ID="Employees" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select photo, lastname, firstname, title from employees" /> <asp:GridView DataSourceID="Employees" Width="100%" RunAt="server" AutoGenerateColumns="false" > <Columns> <asp:ImageField HeaderText="" DataField="photo" /> <asp:TemplateField HeaderText="Name"> <ItemTemplate> <%# Eval ("firstname") + " " + Eval ("lastname") %> </ItemTemplate> </asp:TemplateField> <asp:BoundField HeaderText="Title" DataField="title" /> </Columns> </asp:GridView>
51
Contrle DetailsView
Affiche le dtail dun enregistrement Fonctionna en paire avec un GridView Ou individuellement (appel partir dune page) Support pour paging, inserting, updating, deleting Mme type de colonnes que le contrle GridView Trs facilement personnalisable
52
Exemple DetailsView
<asp:SqlDataSource ID="Employees" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select employeeid, photo, ... from employees" /> <asp:DetailsView DataSourceID="Employees" RunAt="server" AllowPaging="true" AutoGenerateRows="false" PagerSettings-Mode="NextPreviousFirstLast"> <Fields> <asp:ImageField HeaderText="" DataField="photo" /> <asp:BoundField HeaderText="Employee ID" DataField="employeeid" /> <asp:BoundField HeaderText="Date Hired" DataField="hiredate" /> <asp:TemplateField HeaderText="Name"> <ItemTemplate> <%# Eval ("firstname") + " " + Eval ("lastname") %> </ItemTemplate> </asp:TemplateField> <asp:BoundField HeaderText="Title" DataField="title" /> </Fields> </asp:DetailsView>
53
<asp:SqlDataSource ID="Employees" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select employeeid, lastname, firstname, from employees" UpdateCommand="update employees set lastname=@lastname, firstname= @firstname where employeeid=@original_employeeid"> <UpdateParameters> <asp:Parameter Name="EmployeeID" Type="Int32" /> <asp:Parameter Name="lastname" Type="String" /> <asp:Parameter Name="firstname" Type="String" /> </UpdateParameters> </asp:SqlDataSource> <asp:GridView DataSourceID="Employees" Width="100%" RunAt="server" DataKeyNames="EmployeeID" AutoGenerateEditButton="true" />
Cl primaire
M. Romdhani, INSAT, Novembre 2005
Bouton Edit
54
ASP.NET 2.0
56
SqlMembershipProvider
Donnes membres
SQL Server
57
Classe Membership
Fournit des mthodes pour effectuer les tches les plus importantes pour la gestion des utilisateurs : Cration & suppression des utilisateurs Rcupration dinformation sur les utilisateurs Gnration de mots de passe Validation des credentials (login/mot de passe) des utilisateurs
58
GetUser : Retourne les informations relatives un utilisateur UpdateUser : Met jour les informations relatives un utilisateur ValidateUser : Authentifie et Valide le Login/Mot de passe dun utilisateur
59
Contrles de Login
ChangePassword : Contrle pour changement de mot de passe CreateUserWizard : Contrle pour crer un utilisateur Login : Contrle pour lauthentification LoginName : Contrle pour afficher le nom de lutilisateur LoginStatus : Contrle pour afficher le statut de connexion PasswordRecovery : Contrle pour rcuprer le mot de passe
60
Le contrle dauthentification
Contrle pour permettre aux utilisateurs de se loger Peut sintgrer avec les services de gestion des membres : appelle la mthode ValidateUser Utilise les RequiredFieldValidators Trs personnalisable
61
62
<asp:Login ID="LoginControl" RunAt="server" CreateUserText="Create new account" CreateUserUrl="CreateUser.aspx" DisplayRememberMe="false" PasswordRecoveryText="Forgotten your password?" PasswordRecoveryUrl="RecoverPassword.aspx" SubmitButtonText="Do It!" TitleText="Please Log In" />
63
Authenticate : Sexcute quand lutilisateur clique sur le bouton Login LoggedIn : Sexcute quand lutilisateur a t authentifi LoginError : Sexcute quand le login/mot de passe est incorrect
64
La classe Roles
Fournit des mthodes pour effectuer les tches les plus importantes pour la gestion des Rles : Cration & suppression des Rles Rcupration dinformation sur les Rles Ajout dutilisateurs aux Rles Suppression dutilisateurs des Rles
65
GetRolesForUser : Retourne la liste des Rles auxquels un utilisateur appartient IsUserInRole : Indique si lutilisateur appartient un Rle RemoveUserFromRole : Supprime un utilisateur dun Rle ...
66