Dernière mise à jour :2008-08-29

informatique

Lorsqu’on navigue sur Internet, on y rencontre beaucoup de pages statiques, c’est-à-dire, des pages dont l’extension du fichier est «htm» ou «html». Cependant, on remarque aussi un grand nombre d’autres extensions tel que :

  • .asp
  • .idc
  • .php
  • .jsp

Ces extensions sont celles de pages dynamiques. Une page dynamique c’est une page contenant un programme exécuté ou interprété sur le serveur web. Tout dépendant de la page, le programme peut aller chercher des données dans une base de données, ouvrir une session FTP pour le transfert de fichier exécuté un traitement sur un fichier, etc…

Parmi les extensions énumérées ci-dessus, on pourrait ajouter .aspx qui représente les pages ASP.NET. Celles-ci représentent la nouvelle génération de pages dynamique offertes par Microsoft et succèdent à ASP (Active Server Pages).

Dans cet article, nous allons voir comment créer une page ASP.NET. Il est à noter qu’écrire une page ASP.NET peut paraître un peu plus compliqué que de créer une page ASP mais en bout de ligne, on s’aperçoit qu’on épargne quelques lignes de code.

L’une des principales différence entre ASP.NET et d’autres langages tel ASP ou PHP c’est que ce langage est orienté événement plutôt que procédural.

Les événements en ASP.NET

Lorsqu’une page ASP.NET est téléchargé, une série d’événements sont déclenché dans un ordre précis. En fait, deux événement sont toujours présent par défaut :

Page_Load()
Page_Unload()

Les autres événements proviennent de controls ajoutés à la page. En effet, ASP.NET propose une grande série de controls qui peuvent être ajouté à la page comme par exemple, les « HTML controls », « web controls », « user controls » ou encore, « validation controls ». Lorsque vous écrivez du code relatif à un événement, vous devez l’inclure dans une balise HTML spécifique. Ceux qui ont déjà fait du JavaScript reconnaîtront la balise script. Notez cependant que dans le cas de ASP.NET, de nouveaux attributs ont été ajouté.

Voici donc la syntaxe d’un bloc de déclaration de code ASP.NET :

<script runat="server" [language="langage choisit"] [src="url d'un fichier externe"] >
</script>

L'attribut runat permet d'indiquer l'endroit où le code sera exécuté. Dans le cas du code d'une page ASP.NET, la valeur de l'attribut est toujours «server». L'attribut «language» permet de spécifier le langage utilisé par le programmeur pour créer sa page, comme par exemple, c# ou VB. Finalement, l'attribut «src» permet d'indiquer l'url d'un fichier externe contenant le code.

L'objet Page

En ASP.NET, une page est traitée comme étant un objet. Elle a donc des propriétés, des méthodes et des événements comme nous avons pu le voir ci-dessus avec Page_Load et Page_Unload.

Au niveau des propriétés, la plus utilisée est sans doute «isPostBack». Celle-ci retourne une valeur booléenne indiquant si une page a été téléchargé en réponse à elle-même (un post back).

Cette propriété se révèle utile par exemple, parce qu'elle permet d'initialiser les controls seulement au téléchargement initiale de la page. ASP.NET gère l'état des controls entre chaque requête. Il ne serait donc pas souhaitable de perdre cet état lors d'une seconde requête.

L'exemple de code ci dessous présente une page composée de 2 web controls soit : un libellé et un bouton qui, lorsque cliqué, procède à un post back. Le libellé présente false au téléchargement initiale et true lorsque la page est téléchargée à nouveau en réponse à elle-même.

Listing 1.0 Exemple de page ASP.NET
1. <%@ Page language="c#" %>
2. <script language="c#" runat="server">
3.  void Page_Load(Object Src, EventArgs E)
4.  {
5.   lbl1.Text = Page.IsPostBack.ToString();
6.  }
7. </script>
8. <html>
9. <head>
10. <title>Exemple de page ASP.NET</title>
11. </head>
12. <body>
13. <form id="form1" runat="SERVER">
14. <asp:Label id="lbl1" runat="SERVER"/>
15. <br />
16. <asp:Button id="btnSubmit" text="Soumettre" runat="SERVER" />
17. </form>
18. </body>
19. </html>

Les directives de pages

Les pages ASP.NET peuvent optionellement contenir des directives qui permettent de donner au compilateur de la page, des détails sur la procédure à suivre lors de la compilation.

Voici la liste des directives pouvant être incluse dans une page ASP.NET.

  • @Page
    • Définit des attributs spécifiques à la page comme par exemple, l'attribut «Language» qui permet de spécifier le langage utilisé.
  • @Control
    • Définit des attributs spécifiques à un control.
  • @Assembly
    • Un «Assembly» est un ensemble de code réutilisable compilé dans un .dll. Cette directive permet de lier une dll à la page permettant ainsi d'utiliser toutes les classes qu'elle contient.
  • @Import
    • Permet d'importer un espace de nommage (namespace) dans la page.
  • @Output cache
  • @Register

Voici deux exemples de directives

<%@ Page Language="c#" %>
<%@ Import Namespace="System.Data" %>

Les espaces de nommage (namespace)

Le .Net Framework sur lequel repose ASP.NET est une série de classes regroupées sous forme hiérarchique. Pour utiliser celles-ci, il est nécessaire d'importer leur espace de nommage dans la page ASP.NET.

Remarque : Certain namespace sont importé par défaut dans les pages ASP.NET comme par exemple : System, System.IO, System.Web etc...

Auteur : Sylvain Bilodeau

Date de mise en ligne : 2003-06-25

Aucun commentaire pour l'instant.