Asp Net
Asp Net
Au sommaire :
.NET FrameWork
Programmation Objet
Eléments du langages
Objet page
Control, HTMLControl
Webcontrol
Affichage
Boutons
Saisie
Liste
Validation
Controles enrichis
Listes de données
ADO.Net
Command
DataReader
DataSet
Objets ASP.Net
Fichiers
Email
Trace
MICROSOFT.NET
Microsoft .net se décompose en 3 éléments distincts :
• Le framework
.NET FRAMEWORK
Caractéristiques principales du Framework:
• Plateforme conçue dés le départ pour les applications compatibles avec Internet et
celles équipées pour Internet qui comprennent et qui adoptent des standards ouverts tels
que XML,HTTP, SOAP.
• Une plate forme qui fournit un grand nombre de technologies de développement d'
applications très complètes et puissantes telles que Windows Forms, ASP.net ...
• une plate forme proposant une bibliothèque de classes complète avec un support important
de l' accès aux données (relationnelles ou XML), des services de répertoire, des filles d'
attentes de message ...
• Une plate forme avec une bibliothèque de classes de base composée de centaines de
classes permettant l' exécution de de taches courantes telles que : gestion de fichier, l'
accès au registre, la sécurité, le threading, et la recherche de texte à l' aide d' expressions
régulières ...
• Une plate forme avec laquelle on peut utiliser le langage de son choix.
• Une plate forme avec une exécution de code et un environnement de gestion indépendant,
à savoir CLR (Comon Langage runtime) qui vérifie si le code est exécuté en toute
sécurité, qui fournit une couche d' abstraction au dessus du système d' exploitation.
Le première fois qu 'une page ASP.net (suffixée aspx) est demandée par un utilisateur, le CLR
compile le code dans un langage intermédiaire le MSIL (Microsoft Intermediate Langage),
ensuite le code ainsi généré est à nouveau compiler pour produire un code binaire qui est exécuté
et mis en mémoire cache. Ce code binaire sera ensuite appelé pour tous les autres appels à la
même page.
Page 2 sur 61
Principaux avantages :
Physiquement ces classes sont dans des fichiers dll, par exemple la majorité des classe utilisées
dans une pages Web sont contenues dans le fichier System.Web.dll.
Page 3 sur 61
La notion d' Assemblée
Afin d' éviter le problème posé par les dépendances et les problèmes de version entre les
application, Microsoft introduit la notion d' Assemblée. Une assemblée est une collection d' un ou
plusieurs fichiers (dll, exe, ressources jpeg ...), une assemblée déclare un manifeste auprès du
FrameWork indiquent :
Elle est auto-descriptive, Plusieurs assemblées avec des versions différentes peuvent cohabiter
dans le framework. dans la plupart des cas une assemblée est un fichier unique .dll ou .exe qui
pour la plate forme ASP.net doit être copié dans le dossier /bin à la racine du serveur.
ASP.NET
ASP.net repose entièrement sur le Framework, il permet de créer :
ASP ASP.net
Le code script et le code HTML sont Le code peut être séparé du code
intiment liés HTML, soit en 2 parties de page
distinctes, soit en 2 fichiers distinct
Le code script est interprété Le code est complié une première fois
puis exécuté et mis en cache pour les
appels ultérieurs
Langages de script supportés : Vbscript ASP.net ne supporte que les langages
et Javascript : langages non typés. fortement typés : Visual Basic .net, C#
...
Adaptation manuelle des pages en Suivant la nature du navigateur
fonction de navigateurs ASP.net, générera le code adéquate et
répartira les charges entres client /
serveur.
Mise à jour des composants serveur Installation des nouveaux composant
nécessitant arrêt du serveur, des par simple copier-coller
services ...
Page 4 sur 61
FONCTIONNALITÉS ORIENTÉES OBJET
Classes
Private : Classe accessible uniquement dans le fichier dans lequel elle est déclarée
Mustinherit : Class abstraite , ses membres doivent être implémentés par des classes dérivées
A l'intérieur d'une classe, la définition des membres suit les mêmes règles. Les membres non
explicitement déclarés par un mot-clé sont Public par défaut.
Inherits :
L'instruction Inherits permet de déclarer une nouvelle classe, appelée une classe dérivée, basée
sur une classe existante, appelée une classe de base. Les classes dérivées héritent des
propriétés, des méthodes, des événements, des champs et des constantes de la classe de base et
peuvent les étendre.
Exemple :
Page 5 sur 61
'
' Code
'
End Class
Utilisation :
ou
Méthodes
Les méthodes sont déclarées comme Sub ou Function.
Overloads : Indique que cette procédure Function surcharge une ou plusieurs procédures définies
avec le même nom dans une classe de base.
Overrides : Indique que cette procédure Function substitue une procédure de même nom dans
une classe de base.
Overridable : Indique que cette procédure Function peut être substituée par une procédure de
même nom dans une classe dérivée.
NotOverridable : Indique que cette procédure Function ne peut pas être substituée dans une
classe dérivée.
MustOverride : Indique que cette procédure Function n'est pas implémentée dans cette classe et
qu'elle doit l'être dans une classe dérivée pour que cette classe puisse être créée.
Shared : membre partagé parmi toutes les instance de la classe et indépendamment d'une
instance de la classe (cas de System.Math.pi)
Public :Les procédures déclarées avec le mot clé Public ont un accès public. Il n'existe aucune
restriction quant à l'accessibilité des procédures publiques.
Page 6 sur 61
Protected : Méthode accessible au départ de la classe contenante et classe dérivées.
Friend : Les procédures déclarées avec le mot clé Friend ont un accès ami. Elles sont accessibles à
partir du programme contenant leur déclaration et à partir de n'importe quel autre endroit du
même assembly.
Protected Friend : Les procédures déclarées avec les mots clés Protected Friend ont l'union des
accès ami et protégé. Elles peuvent être utilisées par du code dans le même assembly, de même
que dans les classes dérivées. L'accès Protected Friend peut être spécifié uniquement pour les
membres des classes.
<arglist> : liste des arguments de la méthode, les arguments sont passés soit par valeur Byvar,
soit par référence Byref .
Exemple :
return op1+op2
End function
End Class
Utilisation :
Propriétés
Les propriétés peuvent être définies comme membres Public ou Private ou en utilisant
l'instruction Property.
return op1+op2
End function
End Class
Utilisation :
Le bloc Get est utilisé pour retourner une valeur, le bloc Set est utilisé pour affecter une valeur.
exemple :
return op1+op2
End function
Get
return oper1
End Get
End Property
Get
return oper2
End Get
End Property
End Class
Utilisation :
Page 8 sur 61
Dim oper as new calc
calc.op1=1237
calc.op2= 1244
resultat=oper.add()
Construsteurs / Destructeurs
Les constructeurs d'instance initialisent des instances d'un type et sont exécutés par
l'environnement runtime lors de la création d'une instance. La liste des paramètres formels d'un
constructeur est soumise aux mêmes règles que celle d'une méthode. Les constructeurs d'instance
peuvent être surchargés.
exemple :
Sub New()
_Prenom=""
_ Nom=""
End Sub
_Prenom=FirstName
_ Nom=LastName
End Sub
Get
return _Nom
End Get
End Property
Get
return _Prenom
End Get
End Property
End Class
Utilisation:
Page 9 sur 61
Dim Intel as New Person
Intel.Nom= "Badinter"
Intel.Prenom="Robert"
ou
Les objets entament leur existence au moment où une instance d'une classe est créée à l'aide du
mot clé New.
Les objets cessent d'exister dès que leur portée se termine et qu'ils sont libérés par le Common
Language Runtime (CLR). Visual Basic .NET contrôle la libération des ressources système à
l'aide de procédures nommées destructeurs.
Avant de libérer des objets, le CLR appelle automatiquement la méthode Finalize pour les
objets qui définissent une procédure Sub Finalize. La méthode Finalize peut contenir du code
qui doit s'exécuter juste avant la destruction d'un objet, comme pour la fermeture de fichiers et
l'enregistrement d'informations d'état.
Visual Basic .NET autorise l'emploi d'un deuxième type de destructeur, appelé Dispose, qui peut
être appelé explicitement à tout moment pour libérer immédiatement des ressources.
Exemple :
Implements IDisposable
return op1+op2
End function
End Class
Interfaces
Les interfaces décrivent les caractéristiques des champs, propriétés, méthodes et événements,
mais laissent les détails d'implémentation aux structures ou aux classes.
Page 10 sur 61
[ Public | Private | Protected | Friend | Protected Friend ]
{[ ReadOnly | WriteOnly ] [ Overloads | Overrides | Overridable | NotOverridable |
MustOverride } | Shared ] _
Interface name
[ Inherits interfacename[, interfacename ]]
[ Property proname ]
[ Function memberame ]
[ Sub memberame ]
[ Event memberame ]
End Interface
Exemple :
Sub New()
End Sub
Public Property fnom() As String Implements Ipers.ff
Get
Return Name
End Get
Set(ByVal Value As String)
Name = fnom
End Set
End Property
End Class
L'un des avantages des interfaces est l'héritage, car contrairement à une classe un interface peut
dériver de plusieurs classes.
Page 11 sur 61
ÉLEMENTS DE LANGAGE
• tableaux liés: le niveau inférieur d'un tableau est toujours égal à 0, cela ne peut pas être
modifié. L'instruction Option Base n'est pas supportée.
Cette instruction déclare un tableau de taille initiale de 11 éléments. Vous pouvez affecter
les valeurs un tableau dans l'instruction de déclaration:
counter += 1
name &="Sussman"
• déclaration de variable: lors de la déclaration de plusieurs variables sur une même ligne,
une variable sans type de données prend le type de la variable suivante (et non le type
Variant comme c'était le cas dans VB6). Par exemple, dans la déclaration suivante, Age est
de type Integer:
Dim Age, Hcurs As Integer Dim Name As String, Age, Hours As Integer
• portée de variable: une portée d'un bloc est maintenant supportée. Ainsi des variables
déclarées à l'intérieur d'un bloc (bloc If par exemple) ne sont visibles que dans le bloc (If.
Dans Visual Basic 6, les variables pouvaient être déclarées à n'importe quel endroit et leur
portée était celle de la méthode dans sa totalité
• création d'objet: le mot clé As New peut être utilisé librement dans la ligne de déclaration
de variable. Il n'existe pas de création implicite d'objet. Ainsi, des objets Nothing restent
paramétrès sur Nothing à moins qu'une instance explicite ne soit créée.
• valeurs renvoyées par une fonction: la valeur renvoyée par une fonction est fournie par
l'instruction Return plutôt que par attribution du nom de la fonction à la valeur désirée.
• boucle While: l'instruction Wend a été remplacée par End While ;.
• Empty et Null: les mots clés Empty et Null voient leur utilisation remplacée par Nothing.
Références
Dans Visual Basic 6, vous sélectionnez References dans le menu Project pour accéder à des
composants COM. Il existe une possibilité similaire dans Visual Studio.NET pour référencer des
assemblys (ou des composants COM). En revanche, si vous utilisez Notepad, vous devez fournir
vous mêmes vos références en utilisant le mot clé Imp o r t s. Par exemple
Page 12 sur 61
Imports System
Imports MyComponent
Imports aliasName=Namespace
Si vous utilisez un alias, il doit être inclus dans les références des classes que contient l'espace de
noms. Par exemple, si vous disposez d'un espace de nom nommé MyComponent contenant une
classe nommée MyClas s et que vous importez l'espace de noms suivant:
La gestion structurée des exceptions s'effectue par l'intermédiaire d'une instruction Try, qui se
compose de trois types de blocs : Try, Catch et Finally. Un bloc Try est un bloc d'instructions
contenant l'instruction à exécuter. Un bloc Catch est un bloc d'instructions qui gère une exception.
Un bloc Finally contient des instructions à exécuter lorsque l'instruction Try se termine, qu'une
exception se soit produite ou non. L'instruction Throw, utilisée en association avec un bloc Catch,
génère une exception qui est représentée par une instance d'un type dérivé de la classe
System.Exception.
Type de données
Il existe trois nouveaux types de données:
Page 13 sur 61
Structure : Déclaration des types personnalisés, remplace l'ancienne instruction Type.
End Structure
Exemple :
Structures et classes sont intégrées à l'utilisation, permettant ainsi aux structures de contenir non
seulement des membres variables mais également des méthodes:
End Structure
Paramètres
Le transfert par défaut se fait par ByVal. Cela signifie que, pour passer les paramètres par
référence, vous devez explicitement placer ByRef devant le nom du paramètre.
appel de procédure: les parenthèses sont exigées pour tout appel de procédure et plus
seulement pour les fonctions .
En ce qui concerne les paramètres facultatifs, vous devez dorénavant spécifier un paramètre
par défaut. La méthode Ismissing est supprimée.
Débogage
• la méthode Print de l'objet Debug a été remplacée la méthode Write de l'objet
Trace.
Collections
Page 14 sur 61
L'espace de noms System.Collections contient des interfaces et classes qui définissent différentes
collections d'objets, par exemple, les listes, les files d'attente, les tableaux de valeurs de bit, les
tables de hachage.
Classes
Classe Description
Page 15 sur 61
Écriture des pages
Page 16 sur 61
Evénements :
Principales Propriétés :
Page 17 sur 61
Validators Obtient une collection de tous les contrôles de validation contenus
dans la page demandée.
TP : serveursvariables
Principales Méthodes :
Databind Réalise la liaison des données pour tous les contrôle de la page.
Page 18 sur 61
CONTROL et HTMLCONTROL
Lorsque vous créez des pages Web Forms, vous pouvez utiliser les types de contrôles
suivants :
• Contrôles serveur HTML Éléments HTML exposés au serveur de façon à ce que vous
puissiez les programmer. Les contrôles serveur HTML exposent un modèle objet qui est
mappé très étroitement aux éléments HTML dont ils assurent le rendu.
• Contrôles serveur Web Contrôles possédant plus de fonctionnalités intégrées que les
contrôles serveur HTML. Les contrôles serveur Web incluent des contrôles de type
formulaire tels que les boutons et zones de texte et des contrôles spécialisés tels qu'un
calendrier. Les contrôles serveur Web sont plus abstraits que les contrôles serveur HTML.
Leur modèle objet ne reflète pas nécessairement la syntaxe HTML.
• Contrôles de validation Contrôles incorporant une logique qui vous permet de tester les
entrées d'utilisateur. Vous attachez un contrôle de validation à un contrôle d'entrée pour
tester les entrées d'utilisateur pour ce contrôle d'entrée.Les contrôles de validation vous
permettent de vérifier s'il existe un champ obligatoire, d'effectuer une comparaison avec
une valeur spécifique ou un modèle de caractères, de vérifier qu'une valeur est comprise
dans une plage spécifique, etc.
• Contrôles utilisateur Contrôles que vous pouvez créer en tant que pages Web Forms.
Vous pouvez incorporer des contrôles utilisateur Web Forms dans d'autres pages Web
Forms, pour créer facilement des menus, des barres d'outils et d'autres éléments
réutilisables.
CONTROL :(System.Web.UI)
C'est la classe de base de tous les contrôles serveur d'ASP.net. Que vous utilisiez des
contrôles serveur HTML ouWeb ou que vous développiez vos propres contrôles serveur, ils héritent
tous de cette classe.
Principales propriétés :
ID String Elle permet d'identifier de façon unique un contrôle dans une page. Si
vous souhaitez
pouvoir accéder aux membres (propriétés, méthodes, événements) d'un
contrôle, vous
devez lui définir son ID. Deux contrôles ne peuvent, bien entendu, avoir le
même ID.
Enableviewstate Boolean, indique si le contrôle, et ses contrôles enfant, doivent maintenir leur
état. Par défaut, elle est vraie (True).
Parent control, Tous les contrôles dans une page sont disposés hiérarchiquement
parent est une référence au contrôle qui contient le contrôle.
Principales Méthodes :
DataBind Lie une source de données au contrôle serveur appelé et à tous ses contrôles
enfants.
Page 19 sur 61
Dispose Permet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré
de la mémoire.
HTMLCONTROL: (System.Web.UI.HtmlControls)
Page 20 sur 61
Propriétés communes:
HTMLCONTAINERCONTROL
Page 21 sur 61
Présence d'un tag d'ouverture et de fermeture,
peuvent contenir du code HTML)
Propriétés communes:
tp : p90
HTMLFORM
Fournit un accès par programme à l'élément HTML <form> sur le serveur.
Principales Méthodes :
Enctype Obtient ou définit le type de codage utilisé par les navigateurs lors de la publication
des données du formulaire sur le serveur.
Method Obtient ou définit une valeur qui indique la façon dont un navigateur publie les
données du formulaire sur le serveur pour traitement.
Target Obtient ou définit le frame ou la fenêtre dans lequel restituer les résultats des
informations publiées sur le serveur.
Principaux Evénements:
HTMLANCHOR
Permet un accès par programme à la balise HTML <a> sur le serveur.
Page 22 sur 61
Principales Propriétés :
Href Obtient ou définit la cible URL du lien spécifié dans le contrôle serveur HtmlAnchor.
Name Obtient ou définit le nom du signet défini dans le contrôle serveur HtmlAnchor.
Title Obtient ou définit le texte ToolTip qui s'affiche lorsque le pointeur de la souris est
placé sur le contrôle HtmlAnchor.
Principaux Evénements:
tp : p92
HTMLBUTTON
Permet un accès par programme à la balise HTML <button> sur le serveur.
Attention le tag <button> ne fonctionne que depuis HTML 4.0 (Netscape > 4.7 ei IE >= 5.0)
Principaux Evénements:
tp : p94
HTMLSELECT
Permet un accès par programme à l'élément HTML <select> sur le serveur.
Principales Propriétés :
Items Obtient une collection qui contient les éléments répertoriés dans un contrôle
HtmlSelect.
Multiple Obtient ou définit une valeur qui indique si plusieurs éléments peuvent être
sélectionnés simultanément dans le contrôle HtmlSelect.
Page 23 sur 61
DataMember Liées à source de données
DataSource
DataTextField
Datavaluefiels
Principaux Evénements:
ServerChange Se produit lorsque les éléments sélectionnés dans le contrôle HtmlSelect sont
modifiés entre deux publications sur le serveur.
tp : p97
HTMLTEXTAREA
Permet un accès par programme à l'élément HTML <textarea> sur le serveur.
Principales Propriétés :
Principaux Evénements:
tp : p102
HTMLINPUTBUTTON
Permet un accès par programme aux éléments HTML <input type= button>, <input type= submit>
et <input type= reset> sur le serveur.
Principales Propriétés :
Principaux Evénements:
ServerClick Se produit lorsqu'un clic est effectué sur un bouton HtmlInputButton sur la page
Web.
HTMLTEXTAREA
Page 24 sur 61
Permet un accès par programme à l'élément HTML <textarea> sur le serveur.
Principales Propriétés :
Principaux Evénements:
tp : p102
HTMLINPUTFILE
Permet un accès par programme à l'élément HTML <input type= file> sur le serveur.
Principales Propriétés :
Accept Obtient ou définit une liste des codages MIME avec la virgule comme séparateur, qui
peuvent être utilisés pour limiter les types de fichiers que l'utilisateur peut
sélectionner.
tp : p107
HTMLINPUTIMAGE
Permet un accès par programme à l'élément HTML <input type= image> sur le serveur.
Principales Propriétés :
Principaux Evénements :
Page 25 sur 61
HTMLINPUTTEXT
Permet un accès par programme aux éléments HTML <input type= text> et <input type=
password> sur le serveur.
Principales Propriétés :
MaxLength Obtient ou définit le nombre maximal de caractères pouvant être entré dans
la zone de texte.
Size Obtient des informations sur le site Web auquel le contrôle serveur appartient.
Principaux Evénements :
tp : p112
HTMLIMAGE
Fournit un accès par programme pour l'élément HTML <img> sur le serveur.
Principales Propriétés :
tp : p115
Page 26 sur 61
WEBCONTROL: (System.Web.UI.HtmlControls)
Contrairement aux HTMLCONTROL, les WEBCONTROL n'ont pas d'équivalent HTML, a l'éxécution
de la page ces contrôles sont transformés en balises HTML classiques. La syntaxe est la
suivante :
Propriétés communes:
Page 27 sur 61
BorderColor Obtient ou définit la couleur de bordure du contrôle Web.
Méthodes communes :
ApplyStyle Copie tous les éléments non vides du style spécifié vers le
contrôle Web, en remplaçant les éléments de style existants du
contrôle.
MergeStyle Copie tous les éléments non vides du style spécifié vers le
contrôle Web, mais ne remplace aucun élément de style existant
du contrôle.
Page 28 sur 61
AFFICHAGE
LABEL
Représente un contrôle label, qui affiche du texte sur une page Web (<SPAN>).
Principales Propriétés :
IMAGE
Affiche une image sur une page Web(<IMG>).
Principales Propriétés :
ImageURL Obtient ou définit l'emplacement d'une image à afficher dans le contrôle Image.
ImageAlign Obtient ou définit l'alignement du contrôle Image par rapport à d'autres éléments
sur la page Web.
PANEL
Représente un contrôle servant de conteneur pour d'autres contrôles(<DIV>).
Principales Propriétés :
tp: P122
Page 29 sur 61
TABLE
Crée un tableau et en définit les propriétés(<TABLE>).
Principales Propriétés :
CellSpacing Obtient ou définit la distance (en pixels) entre les cellules du tableau.
Cellpadding Obtient ou définit la distance (en pixels) entre la bordure et le contenu de la cellule
du tableau.
Gridlines Obtient ou définit une valeur qui spécifie le style de quadrillage à afficher dans le
contrôle Table.
Cells obtient une collection d'objets TableCell qui représentent les cellules d'une
ligne dans un contrôle Table.
tp: P123
Page 30 sur 61
BOUTONS
BUTTON
Affiche un contrôle bouton de commande sur la page Web.(<INPUT TYPE=SUBMIT>)
Principales Propriétés :
Principaux Evénements:
tp: P125
HYPERLINK
Contrôle qui affiche un lien vers une autre page Web(<A>).
Principales Propriétés :
ImageURL Obtient ou définit le chemin d'accès à une image à afficher pour le contrôle
HyperLink.
NavigateURL Obtient ou définit l'URL à laquelle établir un lien lorsqu'un clic a été effectué sur le
contrôle HyperLink.
Target Obtient ou définit la fenêtre ou le frame cible pour afficher le contenu de la page
Web à laquelle un lien est établi lorsqu'un clic a été effectué sur le contrôle
HyperLink.
IMAGEBUTTON
Contrôle qui affiche une image et répond à des clics de souris sur l'image.
Principales Propriétés :
Page 31 sur 61
CommandArgument Obtient ou définit un paramètre facultatif passé à l'événement Command
avec la propriété CommandName associée.
Principaux Evénements:
LINKBUTTON
Affiche un contrôle bouton de style lien hypertexte sur une page Web.
Principales Propriétés :
Principaux Evénements:
tp: P129
Page 32 sur 61
SAISIE
TEXTBOX
Crée une zone de texte et en définit les propriété
(<INPUT TYPE=TEXT> ou <INPUT TYPE=PASSWORD> ou <TEXTEAREA></TEXTEAREA>).
Principales Propriétés :
Autopostback Obtient ou définit une valeur indiquant si une publication automatique sur le
serveur se produira à chaque modification du contenu de la zone de texte par
l'utilisateur.
Readonly Obtient ou définit une valeur qui indique si le contenu du contrôle TextBox peut
être modifié.
Principaux Evénements:
tp: P133
CHECKBOX
Affiche une case à cocher qui permet à l'utilisateur de sélectionner une condition true ou false
(<INPUT TYPE=CHECKBOX>).
Principales Propriétés :
Checked Obtient ou définit une valeur indiquant si le contrôle CheckBox est activé. (True
ou False)
Page 33 sur 61
Principaux Evénements:
RADIOBUTTON
Représente un contrôle de case d'option. (<INPUT TYPE=RADIO>).
Principales Propriétés :
Checked Obtient ou définit une valeur indiquant si le contrôle RadioButton est activé.
Principaux Evénements:
tp: P135
Page 34 sur 61
LISTES
LISTCONTROL
Sert de classe de base abstraite définissant les propriétés, les méthodes et les événements
communs à l'ensemble des contrôles de type liste.
Principales Propriétés :
Autopostback Obtient ou définit une valeur indiquant si une publication sur le serveur
se produit automatiquement lorsque l'utilisateur modifie la sélection de
la liste.
DataTextField
DataTextFormatString
dataValueField
Page 35 sur 61
Principaux Evénements :
LISTBOX
Représente un contrôle zone de liste qui permet la sélection d'un seul ou de plusieurs éléments
(<SELECT> et <OPTION>).
Principales Propriétés :
tp : p138
DROPDOWNLIST
Représente un contrôle qui permet à l'utilisateur de sélectionner un seul élément dans une liste
déroulante.(<SELECT> et <OPTION>).
Principales Propriétés :
tp : p142
Page 36 sur 61
CHECKBOXLIST/RADIOBUTTONLIST
Crée un groupe de cases à cocher ou bouton radio qui peut être généré de manière dynamique .
Principales Propriétés :
RepeatColumns Obtient ou définit le nombre de colonnes à afficher par ligne ou colonne dans le
contrôle CheckBoxList.
RepeatDirection Obtient ou définit une valeur indiquant si le contrôle est affiché verticalement
ou horizontalement.
RepeatLayout Obtient ou définit la mise en page des cases à cocher (Table ou Flow).
tp : p145
Page 37 sur 61
VALIDATION
BASEVALIDATOR
Sert de classe de base abstraite pour des contrôles de validation.
Principales Propriétés :
Enabled Obtient ou définit une valeur indiquant si le contrôle de validation est activé.
EnabledClient Obtient ou définit une valeur indiquant si la validation côté client est activée.
IsValid Obtient ou définit une valeur indiquant si le contrôle d'entrée associé est
validé.
Principales Méthodes :
REQUIREDFIELDVALIDATOR
Convertit le contrôle d'entrée associé en champ requis.
Principales Propriétés :
Page 38 sur 61
InitialValue Obtient ou définit la valeur initiale du contrôle
d'entrée associé.
BASECOMPARVALIDATOR
classe de base abstraite pour les contrôles de validation qui effectuent des comparaisons par type :
CompareValidator et RangeValidator.
Principales Propriétés :
CutoffYear Obtient l'année maximale pouvant être représentée par une année sur deux chiffres.
Type Obtient ou définit le type de données auquel les valeurs comparées sont converties
avant la comparaison.(String, Integer,Double, Date, Currency)
COMPARVALIDATOR
Compare la valeur entrée par l'utilisateur dans un contrôle d'entrée avec la valeur entrée dans un
autre contrôle d'entrée ou une constante.
Principales Propriétés :
ValueToCompare Obtient ou définit une constante à comparer avec la valeur entrée par
l'utilisateur dans le contrôle d'entrée en cours de validation.
Equal ,
NotEqual ,
GreaterThan ,
GreaterThanEqual ,
LessThan ,
LessThanEqual ,
DataTypeCheck .
RANGEVALIDATOR
Vérifie si la valeur d'un contrôle d'entrée se trouve dans une plage de valeurs spécifiée.
Principales Propriétés :
Page 39 sur 61
TP : p154
REGULAREXPRESSIONVALIDATOR
Valide si la valeur d'un contrôle d'entrée associé correspond au modèle spécifié par une expression
régulière.
Principales Propriétés :
exemples :
TP : p159
CUSTOMVALIDATOR
Effectue une validation définie par l'utilisateur sur un contrôle d'entrée.
Principales Propriétés :
Principaux Evénements:
Page 40 sur 61
TP : p161
VALIDATIONSUMMARY
Affiche un résumé de toutes les erreurs de validation en ligne sur une page Web et/ou dans un
message.
Principales Propriétés :
Showmessagebox Obtient ou définit une valeur indiquant si le résumé des validations s'affiche
dans une zone de message.
ShowSummary Obtient ou définit une valeur indiquant si le résumé des validations s'affiche
en ligne.
TP : p164
Page 41 sur 61
LES CONTROLES ENRICHIS
Adrotator
Calendar
ADROTATOR
Le contrôle AdRotator est utilisé pour afficher une bannière de publication sélectionnée de
manière aléatoire sur la page Web. La publication affichée peut changer chaque fois que la page
est actualisée.
Les informations relatives à une publication sont stockées dans un fichier XML distinct. Le fichier
XML vous permet de gérer une liste de publications et les attributs qui leur sont associés. Les
attributs comprennent le chemin d'accès à une image à afficher, l'URL à laquelle se lier lorsqu'un
clic est effectué sur le contrôle, le texte de remplacement à afficher lorsque l'image n'est pas
disponible, un mot clé et la fréquence de la publication.
Principales Propriétés :
AdvertisementFile Obtient ou définit le chemin d'accès à un fichier XML qui contient les
informations relatives à une publication.
KeyWordFilter Obtient ou définit un mot clé de catégorie pour filtrer des types spécifiques
de publications dans le fichier de publications XML.
Principaux événements:
tp: p171
Page 42 sur 61
CALENDAR
Affiche un calendrier et permet de selectionner une date, semaine ou un moi.
Principales Propriétés :
NextMonthText Obtient ou définit le texte affiché pour le contrôle de navigation vers le mois
suivant.
PrevMonthText Obtient ou définit le texte affiché pour le contrôle de navigation vers le mois
précédent.
SelectionMode Obtient ou définit le mode de sélection des dates dans le contrôle Calendar qui
spécifie si l'utilisateur peut sélectionner un jour, une semaine ou un mois.
VisibleDate Obtient ou définit la date qui spécifie le mois à afficher sur le contrôle
Calendar.
PrincipauxEvénements :
VisibleMonthChanged Se produit lorsque l'utilisateur clique sur les contrôles de navigation vers
le mois suivant ou précédent dans l'en-tête du titre.
tp: p178
Page 43 sur 61
LES CONTROLES LIÉS A UNE LISTE DE DONNÉES
DataList
DataGrid
Repeater
BASEDATALIST
Sert de classe de base abstraite pour des contrôles de liste de données, tels que DataList et
DataGrid. Cette classe fournit les méthodes et propriétés communes à tous les contrôles de liste
de données.
Principales Propriétés :
Cellpadding Obtient ou définit l'espace entre le contenu d'une cellule et la bordure de celle-
ci.
DataMember Dans une source de données multimembre, obtient ou définit des données
membres spécifiques à lier à un contrôle de liste de données.
DataSource Obtient ou définit la source contenant une liste de valeurs utilisée pour remplir
les éléments dans le contrôle.
GridLines Obtient ou définit une valeur qui spécifie si la bordure entre les cellules d'un
contrôle de liste de données est affichée.
Principaux événements:
DATALIST
Ce contrôle affiche sous forme de liste l'ensemble des données. Il est décomposé en plusieurs
zones dont on peut déterminer :
Personnalisation de l'aspect:
Page 44 sur 61
HeaderTemplate : En-Tête de la liste
AlternatingItemTemplate : Eléments
alternés de la liste
SelectedItemTemplate : Elément
sélectionné
Principales Propriétés :
RepeatLayout Obtient ou définit si le contrôle s'affiche dans une mise en page tableau ou
fluide.
PrincipauxEvénements :
Page 45 sur 61
EditCommand Se produit lorsqu'un clic est effectué sur un contrôle déclenchant un
commandname Edit .
ItemCommand Se produit lorsqu'un clic est effectué sur n'importe quel bouton dans le
contrôle DataList.
ItemCreated Se produit sur le serveur lorsqu'un élément dans le contrôle DataList est créé.
ItemDataBound Se produit lorsqu'un élément est lié aux données du contrôle DataList.
tp: p193
DATAGRID
Contrôle de liste lié à des données qui affiche les éléments provenant de la source de données dans
un tableau. Le contrôle DataGrid vous permet de sélectionner, trier et modifier ces éléments.
Personnalisation de l'aspect:
PagerStyle : Pagination
Types de colonnes :
BoundColumn Type de colonne pour le contrôle DataGrid qui est lié à un champ dans
une source de données.
EditCommandColumn Type de colonne spécial pour le contrôle DataGrid qui contient les
boutons de commande Modifier pour modifier des éléments de données
dans chaque ligne.
Page 46 sur 61
permet de personnaliser la disposition des contrôles dans la colonne.
Principales Propriétés :
PageCount Obtient le nombre total de pages requises pour afficher les éléments figurant
dans le contrôle DataGrid.
PageSize Obtient ou définit le nombre d'éléments à afficher sur une même page du
contrôle DataGrid.
Pagecount Obtient le nombre total de pages requises pour afficher les éléments figurant
dans le contrôle DataGrid.
PrincipauxEvénements :
ItemCommand Se produit lorsqu'un clic est effectué sur n'importe quel bouton dans le
contrôle DataList.
ItemCreated Se produit sur le serveur lorsqu'un élément dans le contrôle DataList est
créé.
ItemDataBound Se produit lorsqu'un élément est lié aux données du contrôle DataList.
PageIndexChanged Se produit après un clic sur l'un des éléments de sélection de page.
Page 47 sur 61
REPEATER
Affiche ce que DataList et Datagrid ne peuvent afficher. Contrôle de liste lié aux données
permettant une présentation personnalisée, grâce à l'application d'un modèle spécifié à chacun des
éléments figurant dans la liste.
Personnalisation de l'aspect:
Principales Propriétés :
Principaux Evénements :
ItemDataBound Se produit après la liaison d'un élément à des données dans le contrôle
Repeater, mais avant sa restitution sur la page.
tp: p205
Page 48 sur 61
Vue d'ensemble de ADO.NET
ADO.NET est une évolution du modèle d'accès aux données ADO ,Il a été conçu spécifiquement
pour Internet en gardant à l'esprit les aspects d'évolutivité, d'indépendance et XML.
ADO.NET utilise certains objets ADO, tels que les objets Connection et Command, et apporte
également de nouveaux objets. Les principaux nouveaux objets ADO.NET sont DataSet,
DataReader et DataAdapter.
Pour gérer des connexions à une base de données, vous avez deux possibilités :
Connection Pour se connecter à et gérer des transactions avec une base de données:
Command Pour émettre des commandes SQL sur une base de données.
Page 49 sur 61
DataAdapter Un DataAdapter est l'objet qui se connecte à la base de données pour remplir le
DataSet. Ensuite, il se connecte de nouveau à la base de données pour mettre à
jour ses données, à partir des opérations effectuées pendant que le DataSet
contient les données.
DataReader Pour lire un flux d'enregistrements de données en avance seule à partir d'une
source de données.
DataSet L'objet DataSet basé sur XML constitue un modèle de programmation cohérent
qui fonctionne avec tous les modèles de magasins de données : à deux
dimensions (flat), relationnel et hiérarchique.
Page 50 sur 61
Objets Connection :
Représente une connexion ouverte à une base de données .
Principales propriétés:
Principales Méthodes:
Open Ouvre une connexion à une base de données avec les paramètres de
propriété spécifiés par ConnectionString.
Constructeurs :
Exemple :
Page 51 sur 61
Objets Command :
Représente une instruction Transact-SQL ou une procédure stockée à exécuter par rapport à une
base de données.
Principales propriétés:
Propriétés de Parameter:
Méthode de Parameters:
Principales méthodes:
Page 52 sur 61
Constructeurs :
Exemple :
conn.Open()
myCommand = conn.CreateCommand()
Try
nblines = myCommand.ExecuteNonQuery()
Message.Text = "Nombre de lignes mise à jour : " & nblines
Catch ex As SqlClient.SqlException
message.text = "Erreur lors de la requete"
Page 53 sur 61
Objets DATAREADER:
Fournit un mode de lecture d'un flux de lignes avant uniquement à partir d'une base de données .
Principales propriétés:
Principales méthodes:
GetBoolean Obtient la valeur de la colonne spécifiée sous la forme d'un objet de type spécifié.
GetString
GetDouble
GetInt16
...
IsDBNull Obtient une valeur indiquant si la colonne contient des valeurs inexistantes ou
manquantes.
Exemple :
conn.Open()
myCommand = conn.CreateCommand
Dim dr As Data.SqlClient.SqlDataReader
dr = myCommand.ExecuteReader()
Do While dr.Read
Message.Text = Message.Text & dr("reference") & "<br>"
Loop
dr.close()
conn.dispose()
tp: p319
Page 54 sur 61
Objets DATAADAPTER:
Représente un ensemble de commandes de données et une connexion à une base de données qui
permettent de remplir DataSet et de mettre à jour une base de données
Principales propriétés:
Principales méthodes:
Fill Ajoute ou actualise des lignes de DataSet pour qu'elles correspondent à celles de la
source de données.
FillSchema Utilise la commande SelectCommand pour extraire le schéma d'une table dans la
source de données et crée une table vide avec toutes les contraintes
correspondantes dans l'objet DataSet.
Dispose Appelle les instructions INSERT, UPDATE ou DELETE respectives pour chaque ligne
insérée, mise à jour ou supprimée dans DataSet.
Construteurs :
Page 55 sur 61
Objets DATASET:
Représente un cache en mémoire de données, "copie d'un extrait de la base de données".
Principales méthodes:
Clear Efface toutes les données de DataSet en supprimant toutes les lignes de l'ensemble
des tables.
Exemple :
madapt.Fill(ds, "produit")
Page 56 sur 61
madapt.SelectCommand.CommandText = "select * from
categorie"
madapt.Fill(ds, "categorie")
liste.DataSource = ds
liste.DataMember = "produit"
liste.DataTextField = "reference"
liste.DataValueField = "N°"
liste1.DataSource = ds
liste1.DataMember = "categorie"
liste1.DataTextField = "libelle"
liste1.DataValueField = "N°"
Page.DataBind()
ds.Dispose()
madapt.Dispose()
ds.Tables("produit").Rows(1)("reference")
ou
ds.Tables(0).Rows(1)("reference")
TP : p334
TP : p334bis
TP : 359 (Datagrid)
TP: 335
Page 57 sur 61
OBJETS SPECIFIQUES ASP.Net:
Objet utilisés pour le stockage de données entre les pages
Application Stockage de données pour toutes les pages de l'application et tous les
utilisateurs.
Cache Stockage de données pour toutes les pages de l'application et tous les
utilisateurs, plus maniable que Applicationr.
CACHE
Une instance de cette classe est créée par domaine d'application et elle demeure valide tant que le
domaine d'application reste actif. On peut spécifier une durée de vie.
cache.insert("DSN",connectionString)
L'exemple suivant montre comment insérer un élément dans le cache d'une application
avec une expiration absolue l'objet sera supprimé du cache 2 minutes après sa
déclaration.
L'exemple suivant montre comment insérer un élément dans le cache avec une
expiration décalée, l'objet sera supprimé du cache 10 secondes aprés son dernier accès.
cache.remove("DSN")
Page 58 sur 61
Opération sur les Fichiers-Dossiers (SYSTEM.IO)
FILESTREAM
FileStream est utile pour la lecture et l'écriture de fichiers sur un système de fichiers, ainsi que
sur d'autres handles du système d'exploitation liés aux fichiers (notamment les canaux, les entrées
et sorties standard, etc.). FileStream met les entrées et sorties en mémoire tampon pour optimiser
les performances.
Public Sub New( ByVal path As String, ByVal mode As FileMode, ByVal access As
FileAccess )
LECTURE : STREAMREADER(FileStream)
ECRITURE : STREAMWRITER(FileStream)
GESTION DE FICHIERS:
4 Classes éssentielles, Directory, File, DirectoryInfo, FileInfo
TP : P272
Page 59 sur 61
Envoi d'un EMAIL (SYSTEM.WEB.MAIL)
TP : P295
Page 60 sur 61
TRACAGE D'INFORMATION
Page 61 sur 61