Passage de Visual Basic à ASP.NET

 

Scott Mitchell

Août 2003

S’applique à :
    Microsoft® ASP.NET
    Microsoft® Visual Basic®

Résumé: Découvrez les similitudes et les différences entre le développement d’applications web à l’aide de ASP.NET et le développement d’applications de bureau classiques. Cet article s’adresse aux développeurs Visual Basic 6.0 qui souhaitent commencer à créer des applications web ASP.NET et examine les différences entre la création d’applications de bureau avec Visual Basic 6.0 et la création d’applications web ASP.NET avec Visual Basic .NET. (15 pages imprimées)

Téléchargez ASPNETCrashCourse.msi.

Contenu

Introduction
Prise en main avec ASP.NET
Création de notre première page web ASP.NET
Différences importantes entre les applications web et les applications de bureau
Envoi d’une valeur d’un formulaire web à un autre
Conclusion

Introduction

Avant l’arrivée de .NET, il existait de nombreuses différences distinctes et fondamentales entre la création d’applications web ASP classiques et la création d’applications Microsoft® Windows® de bureau avec Microsoft Visual Basic® 6.0. Pour commencer, les interfaces utilisateur de l’application Visual Basic ont été conçues avec des outils de glisser-déplacer dans Microsoft Visual Studio®, tandis que les interfaces utilisateur pour les applications web ASP ont été créées en ajoutant manuellement le balisage HTML pour générer l’interface correcte. En outre, les pages Web ASP contenaient du code de script avec un mélange de balisage HTML et de code source, tandis que les applications Visual Basic traitaient des classes, des modules et d’autres constructions de programmation structurées et orientées objet.

Avec l’avènement de .NET, ASP classique a évolué vers ASP.NET. Diverses fonctionnalités de ASP.NET rendent la création ASP.NET pages Web assez similaire à la création d’un formulaire individuel dans une application Visual Basic. Malgré ces similitudes, il existe encore des différences fondamentales dans la création d’applications web et de bureau, en raison de leurs supports de distribution.

Dans cet article, nous allons d’abord examiner ce que vous devez faire pour commencer à créer des applications web ASP.NET (les développeurs qui ont déjà commencé à utiliser ASP.NET peuvent choisir d’ignorer cette section). Ensuite, nous examinerons les fonctionnalités de ASP.NET qui rendent la création d’applications web ASP.NET semblable à la création d’applications de bureau Windows. Nous verrons également quelques exemples rapides de création de pages web ASP.NET à l’aide de Visual Studio .NET pour illustrer la similitude frappante dans la création d’applications web et d’applications de bureau. Il existe des différences fondamentales entre la création d’applications web et de bureau que nous examinerons également. Enfin, nous allons examiner une tâche Visual Basic courante, à savoir le passage d’informations entre les formulaires, et examiner comment effectuer cette opération dans une application web ASP.NET.

Prise en main avec ASP.NET

Avant de commencer à examiner la création d’une page Web ASP.NET, vous aurez d’abord besoin d’un ordinateur qui peut servir ASP.NET pages Web. Il doit exécuter Microsoft Windows 2000, Microsoft Windows XP Professionnel ou Microsoft Windows Server™ 2003. Si vous n’avez pas accès à une telle machine, vous pouvez toujours utiliser les services d’une société d’hébergement Web. Pour plus d’informations sur les hôtes Web qui prennent en charge les ASP.NET, visitez le forum de support des fournisseurs de services Internet avec ASP.NET sur les forums ASP.NET.

Si vous choisissez d’utiliser votre propre ordinateur pour traiter les pages web ASP.NET, vous devez installer deux composants logiciels :

  • Microsoft Internet Information Service (IIS) 5.0 ou version ultérieure
  • .NET Framework

IIS est le serveur web de Microsoft fourni gratuitement avec les versions de serveur de Windows. IIS 6.0 est fourni en standard avec Windows Server 2003, tandis qu’IIS 5.0 est fourni sur Windows 2000 et Windows XP Professionnel. Pour déterminer si IIS est installé sur votre ordinateur Windows 2000, Windows XP Professionnel ou Windows 2003 Server, ouvrez le Panneau de configuration, accédez à Ajout/Suppression de programmes, puis cliquez sur le bouton Ajouter/Supprimer des composants Windows. La boîte de dialogue affichée dans la figure 1 s’affiche. Si la case Internet Information Services est cochée, IIS est installé ; sinon, case activée la case à cocher et cliquez sur le bouton Suivant pour installer IIS.

Aa479003.aspnet-movingvbtoasp.net01(en-us,MSDN.10).gif

Figure 1. Vérifiez qu’IIS est installé en affichant la boîte de dialogue Composants Windows.

Pour plus d’informations sur l’installation d’IIS, reportez-vous aux guides officiels suivants sur Microsoft.com.

En plus d’installer le serveur Web IIS, vous devez également installer le redistribuable .NET Framework sur le serveur Web. Au moment de la rédaction de cet article, le .NET Framework est à la version 1.1 et peut être téléchargé à partir du package redistribuable Microsoft .NET Framework version 1.1. Le .NET Framework contient l’infrastructure des classes nécessaires à l’exécution d’applications .NET sur le serveur Web. Étant donné que ASP.NET applications web sont des applications .NET et utilisent les nombreuses classes du .NET Framework, il est essentiel que .NET Framework Redistributable soit installé sur le serveur Web.

Note Bien que vous puissiez installer le serveur Web et le .NET Framework dans n’importe quel ordre, il est recommandé d’installer d’abord le serveur Web. En effet, lors de l’installation du .NET Framework, les paramètres de configuration du serveur Web sont mis à jour afin que le serveur Web puisse commencer à servir ASP.NET pages Web. Si vous installez d’abord le .NET Framework, le serveur Web ne servira pas ASP.NET pages Web. Vous pouvez facilement résoudre ce problème en exécutant le fichier aspnet_regiis.exe. Pour plus d’informations , consultez 4GuysFromRolla.com : FAQ ASP : ASP.NET.

Création de notre première page web ASP.NET

Bien que ASP.NET pages Web, comme les applications Visual Basic, puissent être créées avec n’importe quel éditeur de texte, l’utilisation d’outils tels que Visual Studio .NET peut faciliter considérablement le processus. Pour développer ASP.NET pages web, vous devez disposer de la dernière version de Visual Studio .NET installée sur l’ordinateur à partir duquel vous allez développer les pages web ASP.NET. Il existe d’autres éditeurs de développement pour ASP.NET, tels que la matrice web ASP.NET, mais Visual Studio .NET offre une interface de conception qui ressemble le plus à l’interface de conception de Visual Basic 6.0.

Nous allons créer une page web simple ASP.NET pour montrer à quel point la création d’une application ASP.NET est similaire à la création d’une application de bureau Windows classique. Commencez par déclencher Visual Studio .NET et créer un projet d’application web Visual Basic ASP.NET. Ensuite, dans la liste déroulante Emplacement , spécifiez l’URL où vous souhaitez que votre application ASP.NET existe. Si vous envisagez de servir les pages web ASP.NET à partir de l’ordinateur sur lequel vous développez, laissez l’URL et https://localhost/ choisissez un nom de projet, en entrant https://localhost/ProjectName. Si vous hébergez votre application web ASP.NET sur un serveur Web distant, entrez l’URL ou l’adresse IP du serveur Web et le nom du projet, par exemple http:// WebServerURLorIP/ProjectName. La figure 2 montre une capture d’écran de la boîte de dialogue Nouveau projet Visual Studio .NET permettant de créer une application web Visual Basic ASP.NET à l’adresse https://localhost/ASPNETCrashCourse.

Aa479003.aspnet-movingvbtoasp.net02(en-us,MSDN.10).gif

Figure 2 : Créez une application web Visual Basic ASP.NET.

En cliquant sur le bouton OK , Visual Studio .NET crée l’application web. Cela implique la création du répertoire spécifié dans la liste déroulante Emplacement , l’ajout de fichiers et la mise à jour de la configuration du serveur Web pour indiquer que le répertoire nouvellement créé doit être une application IIS.

Une application web ASP.NET est composée d’un certain nombre de pages Web ASP.NET. Chaque page Web est un fichier distinct avec l’extension de fichier .aspx. ASP.NET pages Web, à une application web ASP.NET, sont les formulaires individuels d’une application Visual Basic 6.0. Autrement dit, une page Web ASP.NET représente une interface avec laquelle le visiteur web interagit. À l’instar d’un formulaire Visual Basic, chaque page web ASP.NET est composée de deux parties distinctes :

  • Interface utilisateur graphique
  • Classe dont le code répond aux événements déclenchés par les contrôles dans l’interface utilisateur

Souvent, les pages web ASP.NET sont appelées Web Forms. Les contrôles qui peuvent être ajoutés à l’interface utilisateur d’une page web ASP.NET sont appelés contrôles web.

Lors de la création d’une application web ASP.NET, un formulaire web par défaut est créé, WebForm1.aspx. La figure 3 montre une capture d’écran de Visual Studio .NET après la création d’un projet d’application web ASP.NET.

Aa479003.aspnet-movingvbtoasp.net03(en-us,MSDN.10).gif

Figure 3. Visual Studio .NET, après avoir créé un projet d’application web ASP.NET

Prenez le temps d’examiner la figure 3 plus en détail. Notez qu’il affiche actuellement les Designer pour WebForm1.aspx. Le Designer fournit une vue WYSIWYG de la page Web ASP.NET, vous montrant ce que les utilisateurs qui visitent la page Web verront. Pour ajouter des contrôles Web à la page Web ASP.NET, faites-les simplement glisser à partir de la boîte à outils et déposez-les sur le Designer.

Étant donné que ASP.NET pages Web sont des pages Web, après tout, en plus des contrôles Web, elles contiennent du balisage HTML. Pour afficher le balisage HTML de la page Web ASP.NET, cliquez simplement sur le bouton HTML, qui se trouve en regard du bouton Création en bas à gauche de la Designer. Par conséquent, vous pouvez travailler sur l’interface utilisateur de la page Web ASP.NET via l’Designer WYSIWYG, ou en modifiant directement le code HTML de la page Web via l’affichage HTML.

Pour vous familiariser avec Visual Studio .NET et mieux comprendre le processus de création d’une application web ASP.NET, nous allons ajouter des contrôles Web à WebForm1.aspx. Plus précisément, nous allons créer une page Web ASP.NET qui fonctionne comme une simple calculatrice financière; qui calcule le montant des intérêts qu’une personne réalisera sur un investissement, compte tenu d’un principal de départ, d’un taux d’intérêt et de la durée de placement.

Pour ce faire, nous devons ajouter un certain nombre de contrôles Web Label et TextBox, ainsi qu’un contrôle Button Web. Les contrôles Label Web, comme dans Visual Basic 6, affichent du contenu texte statique ou dynamique. Pour ajouter un contrôle Label Web, il vous suffit de glisser-déplacer le contrôle Label Web de la Boîte à outils sur le Designer. Cliquez ensuite sur le contrôle Label Web pour charger ses propriétés dans le volet Propriétés . Ici, vous pouvez définir sa propriété Text sur la valeur du texte que vous souhaitez afficher et sa propriété ID sur une valeur unique. De même, vous pouvez ajouter un contrôle Web TextBox au Designer.

La figure 4 montre une capture d’écran de l’Designer après l’ajout de tous les contrôles Label et TextBox Web nécessaires. Notez qu’il existe un contrôle Web TextBox pour chaque entrée utilisateur qui doit être collectée. Lorsque vous ajoutez ces contrôles Web, vous devez définir la propriété ID de chaque contrôle Web sur une valeur significative. Comme dans Visual Basic, la propriété ID sert d’identificateur unique et est la façon dont le contrôle Web est référencé par programmation dans le code source de la page Web ASP.NET. Pour cet exercice, donnez aux contrôles Web TextBox les ID StartValue, Rate et Duration.

Aa479003.aspnet-movingvbtoasp.net04(en-us,MSDN.10).gif

Figure 4. Le Designer après l’ajout de l’étiquette appropriée et des contrôles Web TextBox

En plus des contrôles Web Label et TextBox indiqués dans la figure 4, nous devons ajouter deux contrôles Web supplémentaires. Le premier est un contrôle Label Web qui affiche les résultats du calcul financier. Placez ce contrôle Label Web en bas de la page ; effacez sa propriété Text et affectez à sa propriété ID la valeur Résultats. Enfin, nous aurons besoin d’un contrôle Button Web. Ce contrôle Web affiche un bouton sur lequel l’utilisateur clique lors de la saisie des données. Définissez la propriété Text de ce contrôle Web bouton sur Afficher la valeur de l’investissement futur. Après avoir ajouté ces deux contrôles Web, votre écran doit ressembler à la capture d’écran de la figure 5.

Aa479003.aspnet-movingvbtoasp.net05(en-us,MSDN.10).gif

Figure 5. Le Designer, après l’ajout des deux derniers contrôles Web

À ce stade, nous avons terminé la conception de l’interface utilisateur et nous sommes prêts à commencer à écrire le code. Plus précisément, nous voulons effectuer le calcul financier lorsque l’utilisateur clique sur le contrôle Bouton Web et afficher les résultats dans l’étiquette des résultats. Tout comme dans un formulaire Visual Basic 6, vous pouvez ajouter un gestionnaire d’événements pour l’événement Click du contrôle Button Web en double-cliquant simplement sur le bouton dans le Designer.

Lors de la création du gestionnaire d’événements pour l’événement Click du contrôle Button Web, vous êtes dirigé directement vers la partie code source de la page Web ASP.NET, qui aura le nouveau gestionnaire d’événements (illustré dans la figure 6). La partie du code source d’une page Web ASP.NET réside dans un fichier distinct, nommé WebForm1.aspx.vb.

Aa479003.aspnet-movingvbtoasp.net06(en-us,MSDN.10).gif

Figure 6. Le gestionnaire d’événements Click a été automatiquement ajouté à la partie de code source de la page Web ASP.NET.

Il ne reste plus qu’à écrire le code pour calculer la valeur future de l’investissement et afficher cette valeur dans l’étiquette des résultats. Voici le code complet du gestionnaire d’événements Click. En tant que développeur Visual Basic, ce code doit être assez simple.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
  System.EventArgs) Handles Button1.Click
        ' Compute the future value of the investment, which is the
        ' principal plus the interest garnered over time
        ' EQUATION: Value = Principal * e^(Rate/12 * Duration)

        Dim value As Double
        Dim beginningWith As Double = StartValue.Text
        Dim interestRate As Double = Rate.Text
        Dim investmentTime As Double = Duration.Text

        value = beginningWith * Math.Exp((interestRate / 100) *
          investmentTime / 12)

        'Assign the resulting value to the Results Label
        Results.Text = "The investment, after " & investmentTime & "
          months," & _
                       " will be worth: " & FormatCurrency(value)
End Sub

Pour tester la page web ASP.NET, accédez simplement au menu Déboguer et choisissez Démarrer (ou appuyez sur F5). Cette opération compile le code source de la page web ASP.NET et lance un navigateur web, en chargeant dans la page de démarrage spécifiée (WebForm1.aspx est la page de démarrage par défaut). Vous devriez voir une fenêtre de navigateur similaire à la figure 7. Si vous entrez des valeurs dans les zones de texte, puis cliquez sur le bouton, un résultat s’affiche sous le formulaire d’entrée, comme illustré dans la figure 8.

Aa479003.aspnet-movingvbtoasp.net07(en-us,MSDN.10).gif

Figure 7. WebForm1.aspx, lors de la première visite

Aa479003.aspnet-movingvbtoasp.net08(en-us,MSDN.10).gif

Figure 8. WebForm1.aspx, une fois que les informations ont été entrées et que l’utilisateur a cliqué sur le bouton « Afficher la valeur d’investissement futur ».

Différences importantes entre les applications web et les applications de bureau

Bien que les nombreuses similitudes entre la création d’applications web et de bureau rendent le processus de création d’applications ASP.NET plus familier pour les développeurs Visual Basic, il existe quelques différences subtiles, mais profondes, qui doivent être comprises. La différence la plus fondamentale entre les applications web et les applications de bureau est le support sur lequel elles sont fournies.

Les applications de bureau sont exécutées directement sur l’ordinateur de l’utilisateur en tant qu’entité autonome. Il n’existe aucune séparation physique entre l’interface utilisateur de l’application et le traitement de l’entrée de l’utilisateur. En outre, l’état de l’application est autonome. Autrement dit, si l’utilisateur doit remplir plusieurs formulaires de données, chaque formulaire peut facilement connaître les valeurs des formulaires précédents et y accéder.

Toutefois, avec les applications web, ces mêmes règles ne s’appliquent pas. Avec une application web, le code source qui traite l’entrée d’un utilisateur réside sur le serveur Web, tandis que l’interface utilisateur est envoyée à l’ordinateur de l’utilisateur et affichée sur son navigateur Web. Par conséquent, il n’existe aucune connexion directe entre l’interface utilisateur et le code de l’application web.

Prenez l’application calculatrice financière : lorsqu’un visiteur web demande la page Web ASP.NET, la page Web ASP.NET renvoie le balisage HTML en fonction de l’interface utilisateur de la page et du code exécuté dans la partie code source de la page. Le navigateur Web de l’utilisateur restitue ce balisage HTML reçu dans une interface utilisateur graphique sur l’ordinateur de l’utilisateur. À ce stade, il n’existe aucune connexion directe entre la page Web ASP.NET qui a produit ce balisage HTML et le navigateur Web de l’utilisateur.

À partir de son ordinateur, notre utilisateur entre des données dans les différentes zones de texte, puis clique sur le bouton « Afficher la valeur de l’investissement futur ». En cliquant sur ce bouton, le navigateur Web de l’utilisateur renvoie une requête à la même ASP.NET page Web, en envoyant la valeur entrée par l’utilisateur dans les zones de texte assorties, ainsi que d’autres informations. À partir de ces informations, la page Web ASP.NET peut déterminer que l’utilisateur a cliqué sur le bouton et, par conséquent, déclenche l’événement Click du contrôle Web Button, ce qui entraîne l’exécution du gestionnaire d’événements Click. Ce gestionnaire d’événements Click, comme nous l’avons vu précédemment, calcule la valeur d’investissement finale et affiche cette valeur dans l’étiquette des résultats. Ce nouvel affichage est renvoyé au navigateur de l’utilisateur en tant que balisage HTML, et l’utilisateur voit maintenant la page Web comme avant, mais avec la valeur d’investissement future affichée près du bas.

Réalisez que la nature déconnectée et sans état d’Internet impose certaines restrictions sur les fonctionnalités que les applications web peuvent fournir. Par exemple, imaginez que vous conceviez une application qui invite l’utilisateur à entrer son code postal, entre autres choses. Avec Visual Basic, il serait très facile d’ajouter un contrôle TextBox et d’intercepter chaque séquence de touches effectuée sur ce contrôle. Si, par instance, l’utilisateur a entré une séquence de touches qui n’était pas un nombre, vous ne pouvez pas accepter l’entrée ou fournir une sorte de mécanisme de commentaires pour informer l’utilisateur qu’il a entré un caractère non valide pour un code postal américain. Toutefois, avec une application web, cette fonctionnalité n’est pas possible à partir de la partie code source de la page Web ASP.NET. Cela est dû au fait que la partie du code source de la page Web ASP.NET s’exécute uniquement lorsque la page est demandée par le navigateur de l’utilisateur. Cela se produit uniquement lorsque la page est chargée pour la première fois, ou lorsque la page est renvoyée via un clic sur un bouton ou un autre mécanisme.

Envoi d’une valeur d’un formulaire web à un autre

Une tâche courante dans les applications Visual Basic implique l’envoi d’une valeur d’un formulaire à un autre. Par exemple, une application de base de données d’employés peut avoir un formulaire qui répertorie les employés de l’entreprise dans une liste déroulante, avec des informations communes à tous les employés. À partir de ce premier formulaire, l’utilisateur peut sélectionner un employé particulier et cliquer sur un bouton « Détails » qui affiche un deuxième formulaire avec le nom, l’adresse et les informations de salaire de l’employé sélectionné. Étant donné que les applications de bureau Visual Basic sont connectées et avec état, un module commun peut être utilisé pour contenir des valeurs communes à tous les formulaires, ou l’master Form peut exposer la valeur sélectionnée de sa liste déroulante au formulaire détaillé.

En raison de la nature déconnectée et sans état d’Internet, le seul moment où un formulaire web est exécuté est lorsqu’il est demandé à partir d’un navigateur Web. Par conséquent, pour qu’un formulaire web charge un autre formulaire web, le navigateur de l’utilisateur doit en quelque sorte être invité à charger l’URL du deuxième formulaire web. Les valeurs peuvent être passées d’un formulaire web à un autre via queryString de l’URL. Avant de voir comment passer des valeurs entre Web Forms via QueryString, examinons d’abord laResponse.Redirect()méthode, qui indique à un navigateur web de demander une URL spécifiée. C’est à l’aide de cette méthode qu’un formulaire web peut charger un autre formulaire web.

Pour afficher laResponse.Redirect()méthode en action, nous allons créer une page Web ASP.NET qui a un seul contrôle Button Web. Lorsque vous cliquez sur ce bouton, l’utilisateur est envoyé à un autre formulaire web. Commencez par créer le premier formulaire web, celui avec le bouton, et nommez-le First.aspx. Pour créer un formulaire web, cliquez avec le bouton droit sur le nom du projet, ASPNETCrashCourse, puis sélectionnez Ajouter/Ajouter un nouveau formulaire web. À ce formulaire web, ajoutez simplement un contrôle Button Web, en définissant sa propriété Text sur la valeur Click Me. La figure 9 montre une capture d’écran de Visual Studio .NET après avoir créé cette page web ASP.NET et ajouté le contrôle Web Button.

Aa479003.aspnet-movingvbtoasp.net09(en-us,MSDN.10).gif

Figure 9. Un contrôle Bouton Web a été ajouté au formulaire Web First.aspx.

Ensuite, double-cliquez sur le contrôle Button Web dans le Designer afin d’ajouter un gestionnaire d’événements pour l’événement Click de Button. Dans ce gestionnaire d’événements, ajoutez la ligne de code suivante :

Response.Redirect("Second.aspx")

Comme vous pouvez le voir, laResponse.Redirect()méthode accepte un paramètre de chaîne unique, l’URL vers laquelle rediriger le navigateur de l’utilisateur. À présent, créez un formulaire web appelé Second.aspx qui a simplement un contrôle Label Web avec une valeur de propriété Text , « Bienvenue dans le deuxième formulaire web ».

Maintenant, pour commencer à tester la page Web First.aspx, vous devez définir First.aspx comme page de démarrage. Pour ce faire, cliquez avec le bouton droit sur First.aspx dans le Explorateur de solutions et choisissez l’option Définir comme page de démarrage. Accédez ensuite à Déboguer et sélectionnez l’option Démarrer , qui compilera les parties du code source des pages web ASP.NET et lancera un navigateur web sur First.aspx. Un bouton s’affiche dans le navigateur. Lorsque vous cliquez sur ce bouton, le navigateur demande à nouveau First.aspx. Lors de la demande, la partie du code source de First.aspx s’exécute et l’événement Click de Button se déclenche, ce qui entraîne l’exécution du gestionnaire d’événements. Cela entraîne le déclenchement de laResponse.Redirect()méthode, qui renvoie un message au navigateur Web de l’utilisateur lui demandant de demander Second.aspx. Second.aspx est ensuite demandé et la sortie résultante, Bienvenue dans le deuxième formulaire web, est affichée dans le navigateur de l’utilisateur.

À ce stade, nous avons vu comment utiliserResponse.Redirect()pour charger un autre formulaire web dans le navigateur d’un utilisateur. Un ensemble de valeurs scalaires simples, telles que des chaînes, des nombres et des dates, peut être transmis d’un formulaire Web à un autre via QueryString. QueryString est un texte supplémentaire ajouté à l’URL d’un formulaire web et contient une liste de noms de variables et leurs valeurs au format suivant :

VariableName1=Value1&VariableName2=Value2&...&VariableNameN=ValueN

Notez que chaque paire nom-valeur de variable est délimitée par une esperluette, tandis que chaque nom de variable est séparé de sa valeur par un signe égal. Une URL, avec un QueryString ajouté, ressemble à ceci :

http://www.SomeSite.com/SomePage.aspx?SomeName=SomeValue&SomeOtherName=
  SomeOtherValue

Nous allons modifier First.aspx pour qu’en plus de son contrôle Button Web, il inclue un contrôle Web TextBox dans lequel un utilisateur peut entrer une chaîne. Ensuite, dans le gestionnaire d’événements du contrôle Web Button, nous allons modifier l’appel de méthodeResponse.Redirect()afin que la valeur de la chaîne soit transmise au formulaire Web Second.aspx. Enfin, dans le formulaire Web Second.aspx, nous allons afficher la valeur de la chaîne du premier formulaire Web dans un contrôle Label Web.

Pour commencer, ajoutez un contrôle Web TextBox à First.aspx avec une ID propriété ValueToPass. Dans le gestionnaire d’événements Click, nous devons transmettre la valeur de la propriété TextBox valueToPass TextBox. Pour ce faire, modifiez le code dans le gestionnaire d’événements de :

Response.Redirect("Second.aspx")

Par :

Response.Redirect("Second.aspx?TextBoxValue=" & 
  Server.UrlEncode(ValueToPass.Text))

LaServer.UrlEncode()méthode encode le paramètre de chaîne passée afin qu’il soit QueryString-safe. Les navigateurs plus anciens n’autorisent pas certains caractères dans QueryString, comme un espace, et insistent plutôt pour que ces caractères soient placés dans une séquence d’échappement vers des équivalents sécurisés (par exemple, l’espace est placé dans une séquence d’échappement vers +).Server.UrlEncode()effectue gentiment toutes ces échappements. Réalisez qu’avec cette modification, lorsque vous cliquez sur le bouton dans First.aspx, le navigateur Web de l’utilisateur finit par demander l’URL : Second.aspx ? TextBoxValue=ValueEnteredIntoTextBox. Cette opération transmet, en substance, une variable QueryString nommée TextBoxValue dans Second.aspx.

Maintenant, dans Second.aspx, nous devons ajouter un contrôle Label Web avec une ID propriété Results. C’est dans ce contrôle Label Web que nous allons afficher la valeur de la valeur TextBoxValue QueryString passée. Pour ce faire, affichez la partie du code source de Second.aspx (pour ce faire, cliquez avec le bouton droit sur Second.aspx dans le Explorateur de solutions et choisissez Afficher le code). Notez que dans la partie du code source se trouve une sous-routine nommée Page_Load. Cette sous-routine s’exécute précisément une fois chaque fois que la page web ASP.NET est chargée, et est l’endroit où placer le code que vous devez exécuter lors du chargement de la page. Par conséquent, dans le gestionnaire d’événements Page_Load, ajoutez la ligne de code suivante :

Results.Text = Request.QueryString("TextBoxValue")

Request.QueryString() est un NameValueCollection des variables QueryString passées dans la page. Pour accéder à la valeur d’une variable QueryString particulière avec le nom et le nom, utilisez la syntaxe : Request.QueryString("name").

Pour illustrer le passage d’une valeur d’un formulaire web à un autre, accédez à Déboguer et choisissez l’option Démarrer. Cela doit compiler le code source et afficher First.aspx dans votre navigateur web. Tapez dans la zone de texte « Hello, World ! », puis cliquez sur le bouton. Cela vous enverra à Second.aspx, en transmettant dans QueryString la version d’échappement de « Hello, World! » — Hello%2c+World!. Dans Second.aspx, la valeur sans séquence d’échappement de la variable QueryString s’affiche dans le contrôle Label Web, ce qui produit la sortie indiquée dans la figure 10.

Aa479003.aspnet-movingvbtoasp.net10(en-us,MSDN.10).gif

Figure 10. La variable TextBoxValue QueryString s’affiche.

Réalisez qu’il existe d’autres façons de transmettre des informations d’un formulaire web à un autre, mais une longue discussion sur ces autres sujets dépasse le cadre de cet article.

Conclusion

Cet article a examiné les similitudes croissantes entre le développement d’applications web avec ASP.NET et le développement d’applications de bureau Windows traditionnels. À l’instar de la conception d’applications de bureau, la conception de ASP.NET application avec Visual Studio .NET implique la création d’une interface utilisateur graphique dans un Designer WYSIWYG à l’aide de contrôles Web. Disjoint de cette interface utilisateur est la partie de code source de la page Web ASP.NET, qui est composée d’une classe.

Malgré les nombreuses similitudes entre les applications de bureau et web, il existe des différences importantes qui fournissent des limitations à l’expérience globale de l’utilisateur final. La différence la plus profonde est due aux différents supports sur lesquels les applications de bureau et web sont déployées. Plus précisément, les différents composants d’une application de bureau bénéficient d’une coexistence connectée et avec état, alors qu’il existe un fossé physique entre le serveur frontal et le serveur principal d’une application web. Cette division limite la réactivité de l’interface utilisateur d’un site Web et rend certaines tâches qui sont faciles dans le développement d’applications de bureau Visual Basic, extrêmement difficiles dans un environnement web.

Si vous êtes aussi enthousiaste à l’idée de ASP.NET à ce stade que je l’espère, permettez-moi de vous suggérer les ressources suivantes pour poursuivre vos études ASP.NET.

Ces ressources d’impression et web doivent vous aider à prendre en main ASP.NET. En plus des ressources ci-dessus, il existe un certain nombre d’excellents endroits pour poser vos questions ASP.NET et obtenir des réponses rapides et concises. Si vous aimez les forums en ligne, veillez à utiliser les forums ASP.NET, qui est un forum très actif pour les développeurs ASP.NET de tous les niveaux de compétence. Si vous préférez les serveurs de messagerie, veillez à vous inscrire aux nombreux serveurs de liste ciblés sur ASPAdvice.com.

Bonne programmation!

À propos de l’auteur

Scott Mitchell, auteur de cinq livres ASP/ASP.NET et fondateur de 4GuysFromRolla.com, travaille avec les technologies Web microsoft depuis cinq ans. Membre actif de la communauté ASP et ASP.NET, Scott est passionné par ASP et ASP.NET et aime aider les autres à en savoir plus sur ces technologies passionnantes. Pour plus d’informations sur les contrôles DataGrid, DataList et Repeater, case activée livre de Scott ASP.NET Data Web Controls Kick Start (ISBN : 0672325012).

© Microsoft Corporation. Tous droits réservés.