Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Newsletter | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Dév. Web PHP ASP XML XMLRAD Python Assembleur Autres Windows Linux
Accueil Java DotNET & C# Visual Basic C & C++ Delphi Pascal Access SQL & SGBD Oracle UML
FORUMS C/C++ F.A.Q C F.A.Q C++ F.A.Q VC++ F.A.Q BCB TUTORIELS C/C++ LIVRES C/C++ COMPILATEURS

 

Les Labs Microsoft

Section C# / Asp.Net du site http://phenix.developez.com

par Patrick VALERI

Plan du site - Autres sections

Labs ASP.NET v1.1 Aurélien Norie & Sébastien Bovo [Microsoft]

J'ai repris les codes d'origine VB.NET en C# et apporter quelques commentaires.

Index DotNet Lab suivant Lab précédent Dernier Lab

 

Lab02

But du Lab

Le but de ce Lab est d’appréhender la création d’une application ASP.NET avec Visual Studio .NET et d’utiliser son interface en environnement Web.

Nous utiliserons les contrôles HTML Serveur et les Contrôles Web Serveur.

Exercice 1 – Utilisation de Visual Studio .NET en environnement Web

  • Lancer Visual Studio .NET
  • Activer le menu « Fichier/Nouveau/Projet… »
  • Choisir « Projets Visual Basic » et « Application Web ASP.NET »
  • Pour l’emplacement, utiliser « http://localhost/02VBControlesServeur »
  • Visual Studio .NET crée pour vous l’application Web ASP.NET dans le répertoire « C:\Inetpub\wwwroot », ainsi qu’une page ASPX « WebForm1.aspx »
  • Cliquer sur le bouton « Afficher tous les fichiers » de l’explorateur de solutions afin de voir les fichiers de code behind

Vous pouvez constater la présence des fichiers Web.Config, Global.asax, AssemblyInfo.vb et le fichier de code behind de la page web WebForm1.aspx dont nous avons discuté précédemment.

Exercice 2 – Les contrôles HTML

  • Dans la boîte à outils, sélectionner l’onglet « HTML » et ajouter les contrôles suivants sur la page Web (en faisant un glisser/déplacer des contrôles vers la page par exemple). Utiliser la fenêtre de propriétés afin de spécifier les attributs Id et Name tels que définis ci-dessous :
  • Une zone de texte (« Text Field ») : id=TextBox1, Name=TextBox1
  • Un bouton : id=Button1, Name=Button1
  • Un label : id=Label1
  • Pour chacun de ces 3 contrôles, cliquer droit sur le contrôle et sélectionner « Exécuter en tant que contrôle serveur ». De cette manière les événements liés à ces contrôles seront traités côté serveur.
  • Constater qu’un contrôle serveur est repéré par une flèche verte :
  • Passer en mode HTML afin d’observer le code HTML généré par Visual Studio .NET

Nous allons essayer de faire en sorte que lorsque l’utilisateur clique sur le bouton, le label soit mis à jour avec le contenu de la zone de texte.

  • Double cliquer sur le bouton
  • Le gestionnaire d’événement associé à l’événement ServerClick est automatiquement généré dans le code serveur (code behind) par Visual Studio .NET.

En VB :

En C# :

private void Button1_ServerClick( object sender, System.EventArgs e)

{

Label1.InnerText = TextBox1.Value;

}

  • Insérer le code suivant (pour les deux langages):

Label1.InnerText = TextBox1.Value

  • Compiler le projet Web par le menu « Générer / Générer la solution »
  • Exécuter le formulaire en effectuant un click droit sur WebForm1.aspx dans l’explorateur de solution et en choisissant « Afficher dans le navigateur ».
  • Tester le fonctionnement du formulaire.
  • Regarder la source HTML de la page obtenue pour constater qu’il n’y a pas de référence aux lignes de code tapées précédemment.
  • Avec l’explorateur de fichiers, regarder dans le répertoire de l’application Web, un répertoire « Bin » a été créé. Il contient la DLL correspondant au code serveur de l’application Web.

Exercice 3 – Les contrôles Web Serveur – Création d’une fenêtre de Logon

  • Dans l’explorateur de solutions, effectuer un click droit sur le projet et ajouter un nouveau formulaire. Nommer ce formulaire « frmLogon »

  • Ajouter les contrôles serveur suivants (situés dans l’onglet « Web Forms » de la boîte à outils) :
  • Trois labels : labLogon,labMotDePasse et labMessage
  • Deux zones de texte : txtLogon et txtMotDePasse
  • Un bouton : cmdOK

  • Double-cliquer sur le bouton et insérer le code suivant :

 

Private Sub cmdOK_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click

Dim logonValide As Boolean = False

Select Case txtLogon.Text.ToLower

Case "etudiant1"

logonValide = (txtMotDePasse.Text = "passe1")

Case "etudiant2"

logonValide = (txtMotDePasse.Text = "passe2")

Case Else

logonValide = False

End Select

If logonValide Then

Response.Redirect("WebForm1.aspx")

Else

labMessage.Visible = True

End If

End Sub

Et en C# sachant que l'instruction switch : Comparativement au C++, le C# n'autorise pas le passage automatique à chaque condition d'une clause switch.

private void cmdOK_Click(object sender, System.EventArgs e)

{

bool logonValide = false;

string Case = txtLogon.Text.ToLower();

switch(Case)

{

case "etudiant1":

logonValide = (txtMotDePasse.Text.ToString()== "passe1");

break;

case "etudiant2":

logonValide = (txtMotDePasse.Text.ToString()== "passe2");

break;

default:

logonValide = false;

break;

};

if (logonValide)

Response.Redirect("WebForm1.aspx");

else

labMessage.Visible = true;

}

 

Ajouter ensuite le code suivant  :

 

Private Sub Page_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

labMessage.Visible = False

txtMotDePasse.TextMode = TextBoxMode.Password

End Sub

Et en C#:

 

private void Page_Load(object sender, System.EventArgs e)

{

labMessage.Visible = false;

txtMotDePasse.TextMode = TextBoxMode.Password;

}

  • Recompiler la solution et tester le fonctionnement de cette page en vous trompant, puis en entrant un logon et un mot de passe valides

Nous allons maintenant faire en sorte que lors du tout premier appel du formulaire, la zone de texte de saisie du logon soit initialisée avec le texte suivant : « Tapez votre logon ».

  • Modifier l’événement « Page_Load » comme suit [peu de correction pour le C#]:

 

Private Sub Page_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

labMessage.Visible = False

txtMotDePasse.TextMode = TextBoxMode.Password

If Not Page.IsPostBack Then

txtLogon.Text = "Tapez votre logon"

End If

End Sub

  • Recompiler et tester de nouveau la page

Ce document est issu de http://phenix.developpez.com/ et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Vos questions techniques : forum d'entraide C & C++ - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2004 www.developpez.com

Analyse et mesure de frequentation internet par


hit-parade