TUTORIELS 

Découverte pratique de Visual Studio.NET

Laboratoire 3 : ASP vs. ASP .NET
(Fourni par MSDN France)

Les différences entre l'ASP et l'ASP .NET par la pratique, avec l'exemple de l'utilisation de contenu issu d'une base de données.  (3 avril 2002)
 

Introduction
Dans ces travaux pratiques, vous allez construire une page Active Server Pages (ASP) et une page ASP .NET, lesquelles génèrent chacune une page HTML utilisant des données d'une base de données. Dans les deux exemples, le concept de l'accès aux données est le même : il implique une connexion à une base de données. La différence tient à la manière dont les données sont rassemblées et affichées.

Création de la page ASP
- Pour ouvrir l'environnement de développement intégré Visual Studio .NET, cliquez sur Démarrer, Programmes, Experience VS .NET Content, Lab 3, puis sur ASP Source. Une page ASP vierge avec pour nom de fichier Authors.asp s'ouvre dans l'environnement IDE de Visual Studio .NET, comme l'indique la figure 1.

figure 1. Page ASP

- Tapez le code suivant :

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Auteurs</H1>

<%
'
' Connexion à une base de données
'
dim cn
set cn = server.CreateObject("ADODB.Connection")
cn.Open "Provider=sqloledb;" _
& "Data Source=(local);" _
& "Initial Catalog=pubs;" _
& "User ID=sa"
' Récupération des données via l'objet Recordset.
dim rs
set rs = server.CreateObject("ADODB.Recordset")
rs.Open _
"select au_fname, au_lname, phone from authors order by au_lname",cn
%>


Remarque:
Le mélange de script HTML et de script côté serveur dans un tableau est représenté par le code suivant. Un itération est faite sur le jeu d'enregistrements afin d'extraire les données séquentiellement.

<TABLE border='1'>
<TR>
<TH>Prénom</TH>
<TH>Nom</TH>
<TH>Téléphone</TH>
</TR>
<%
do until rs.EOF
Response.Write "<TR>"
Response.Write "<TD>" & rs("au_fname") & "</TD>"
Response.Write "<TD>" & rs("au_lname") & "</TD>"
Response.Write "<TD>" & rs("phone") & "</TD>"
Response.Write "</TR>"
rs.MoveNext
loop
%>
</TABLE>

<!-- Footer -->
<h5>Mis à jour le <%Response.Write now%></h5>
</DIV>
</BODY>
</HTML>


- Cliquez sur File, puis sur Save Authors.asp (Enregistrer Authors.asp).
- Fermez l'environnement IDE.

Visualisation de la page ASP
Pour visualiser la page ASP, cliquez sur Démarrer, Programmes, Experience VS .NET Content, Lab 3, puis sur ASP. La page décrite à la figure 2 s'affiche.

figure 2. Résultats de la page ASP

Création de la page ASP .NET
- Pour ouvrir l'environnement IDE de Visual Studio .NET, cliquez sur Démarrer, Programmes, Experience VS .NET Content, Lab 3, puis sur ASP .NET VB Source. Une page ASP .NET vierge avec pour nom de fichier Authors VB.aspx s'ouvre dans l'environnement IDE de Visual Studio .NET, comme l'indique la figure 3.

figure 3. Page ASP .NET

- Pour visualiser la source, cliquez sur le bouton HTML dans le coin inférieur gauche de l'environnement IDE de Visual Studio .NET.

- Tapez le code suivant :

Remarque: Les espaces de noms System.Data et System.Data.SqlClient sont déclarés en haut de la page. Toutes les classes avec ces espaces de noms sont disponibles pour la page ASP .NET.

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>

</HEAD>
<BODY>
<DIV align=center>
<H1>Auteurs</H1>


Remarque: Le script côté serveur est totalement isolé du HTML statique. Vous pouvez utiliser n'importe quel langage d'exécution, tel que Microsoft® Jscript® et C#, en plus de Microsoft Visual Basic®.

<script language="VB" runat="server">

Sub Page_Load(Src As Object, E As EventArgs)

Dim DS As DataSet
Dim MyConnection As SQLConnection
Dim MyCommand As SQLDataAdapter

MyConnection = New SQLConnection( _
"server=localhost;uid=sa;pwd=;database=pubs")

MyCommand = New SQLDataAdapter( _
"select au_fname as 'Prénom', au_lname as 'Nom', Phone from Authors", _
MyConnection)


Remarque: L'objet DataSet dans le code suivant remplace l'objet Recordset. Notez la méthode Fill de l'objet SQLDataAdapter.

DS = new DataSet()
MyCommand.Fill(ds, "Authors")


Remarque: Observez comment le code suivant définit la propriété DataSource du contrôle DataGrid. Notez la collection Tables dans l'objet DataSet ; à l'inverse des objets Recordset, les objets DataSet peuvent contenir plusieurs tableaux.

grdAuthors.DataSource=ds.Tables("Authors").DefaultView

Remarque: Dans le code suivant, la méthode DataBind du contrôle DataGrid charge les données dans DataGrid. DataGrid affiche ensuite les données sous forme de tableau HTML.

grdAuthors.DataBind()
End Sub

</script>

Remarque: La ligne de code suivante incorpore un objet DataGrid à la page. Vous pouvez définir des propriétés supplémentaires pour le contrôle DataGrid en ajoutant des paires propriété/valeur. Par exemple : Width="700" and BackColor="#ccccff".

<asp:DataGrid runat=server id=grdAuthors/>

<!-- Footer -->
<h5>Mis à jour le <%Response.Write (Now.ToString)%></h5>
</DIV>

</BODY>
</HTML>

- Cliquez sur Fichier puis sur Save Authors VB.aspx (Enregistrer Authors VB.aspx).
- Fermez l'environnement IDE.

Visualisation de la page ASP .NET
Pour visualiser la page ASP .NET, cliquez sur Démarrer, Programmes, Experience VS .NET Content, Lab 3, puis sur ASP .NET-VB. La page présentée à la figure 4 s'affiche.

figure 4. Page ASP .NET

Fin du laboratoire 3
Lorsque vous avez terminé de visualiser la page ASP .NET, fermez toutes les fenêtres.

Initialement publié sur MSDN France le 18 janvier 2002

 
[ MSDN France pour JDNet
 
Accueil | Haut de page