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

 

Lab03

But du Lab

Le but de ce Lab est d’apprendre à utiliser certains contrôles Web Serveur tels que les contrôles de validation et le contrôle Calendar.

Exercice 1 – Les contrôles Validator

  • 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/03VBControlesServeurAvances »
  • Ajouter deux zones de texte (« TextBox1 » et « TextBox2 »), un bouton (« Button1 ») et un RequiredFieldValidator (« RequiredFieldValidator1 ») à la page « WebForm1.aspx ».
  • Modifier les deux propriétés suivantes de RequiredFieldValidator1 :
    • ControlToValidate = TextBox1
    • ErrorMessage = « Champ de saisie obligatoire »

  • Compiler et essayer de valider le formulaire sans saisir de valeur dans la première zone de texte. Vous devriez obtenir le résultat suivant :

Le contrôle a été effectué par du script client, aucun aller retour n’a été effectué vers le serveur.

  • Modifier la propriété suivante : EnableClientScript = False
  • Compiler et essayer de valider le formulaire sans avoir saisi de valeur dans la première zone de texte : le comportement est exactement identique excepté que le contrôle cette fois-ci, s’effectue que côté serveur et non côté client
  • Ajouter un RangeValidator (« RangeValidator1 ») et modifier les propriétés suivantes :
    • ControlToValidate = TextBox2
    • ErrorMessage = « Doit être un entier compris entre 0 et 100 »
    • MinimumValue = 0
    • MaximumValue = 100
    • Type = Integer

  • Compiler et essayer de valider le formulaire (on suppose que la première zone de texte contient une valeur quelconque) en saisissant la valeur 150 dans la seconde zone de texte puis réessayez avec la valeur 80.
  • Ajouter un CustomValidator (« CustomValidator1 »), basculez et modifier les propriétés suivantes :
    • ControlToValidate = TextBox2
    • ErrorMessage = « La valeur doit être impaire »
  • Passer en mode HTML et ajouter l’attribut OnServerValidate= "FonctionValidation" :

< asp:CustomValidator

id ="CustomValidator1"

style ="Z-INDEX: 106; LEFT: 200px; POSITION: absolute; TOP: 88px"

runat ="server"

ErrorMessage ="La valeur doit être impaire"

ControlToValidate ="TextBox2"

OnServerValidate ="FonctionValidation"

Width ="274px"

Height ="24px">

</ asp:CustomValidator >

Dans le code behind, ajouter le code suivant afin de tester la validité de la valeur saisie :

 

Public Sub FonctionValidation( ByVal source As Object, ByVal args As ServerValidateEventArgs)

Dim valeur As Integer = Integer.Parse(args.Value)

args.IsValid = ((valeur Mod 2) <> 0)

End Sub

Il suffit en fait de double cliquez sur le CustomValidator sans passer par le code HTML ce qui donne en C# :

 

private void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)

{

int valeur= int.Parse(args.Value);

args.IsValid = ((valeur%2)!=0);

}

  • Recompiler et tester le fonctionnement du formulaire


Exercice 2 – Le contrôle Calendar

  • Ajouter un nouveau formulaire (WebForm2.aspx)
  • Ajouter un label (« Label1 »), une DropDownList (« DropDownList1 ») et un Calendar (« Calendar1 »)
  • Modifier la propriété « Text » du Label afin d’afficher « Planning des partiels »
  • Cliquer droit sur le calendar, et choisir « Mise en forme automatique… »
  • Choisir un design qui vous plaît et cliquer sur « OK »

Votre page devrait ressembler à quelque chose comme ceci :

  • Ajouter le code suivant dans le code behind afin de remplir la liste déroulante lors du premier accès à la page, et de cacher le contrôle Calendar :

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

If Not Page.IsPostBack Then

DropDownList1.Items.Add("")

DropDownList1.Items.Add("Gestion")

DropDownList1.Items.Add("Informatique")

DropDownList1.Items.Add("Mathématiques")

Calendar1.Visible = False

End If

End Sub

 

Modifier la propriété « AutoPostBack » de la DropDownList1 en la positionnant à « True ». De cette manière, l’événement « SelectedIndexChanged » est déclenché côté serveur lorsque l’utilisateur sélectionne une valeur dans la liste


  • Double cliquer sur la DropDownList et ajoutez le code suivant :

 

Private Sub DropDownList1_SelectedIndexChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged

Calendar1.Visible = True

Select Case DropDownList1.SelectedIndex

Case 1

Calendar1.SelectedDate = New DateTime(2003, 7, 4)

Case 2

Calendar1.SelectedDate = New DateTime(2003, 8, 12)

Case 3

Calendar1.SelectedDate = New DateTime(2003, 9, 30)

Case Else

Calendar1.Visible = False

Exit Sub

End Select

Calendar1.VisibleDate = Calendar1.SelectedDate

End Sub

En C#:

 

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

{

Calendar1.Visible = true;

switch (DropDownList1.SelectedIndex)

{

case 1:

Calendar1.SelectedDate = new DateTime(2003, 7, 4);

break;

case 2:

Calendar1.SelectedDate = new DateTime(2003, 8, 12);

break;

case 3:

Calendar1.SelectedDate = new DateTime(2003, 9, 30);

break;

default:

Calendar1.Visible = false;

break;

}

Calendar1.VisibleDate = Calendar1.SelectedDate;

}

  • Compiler et tester cette 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