Je vous propose ici d’utiliser les contrôles de validation .NET pour vérifier les entrées d’un utilisateur puis d’ouvrir un pop-up si les données sont présentes.
Programmation > .Net
Recherche :   
Actualité Système Salon Concours Outils Programmation Devparadise Programmation HTML .Net JavaScript VBScript ASP PHP Visual Basic Perl Java Active X SQL XML WAP Delphi Graphisme Flash Web Design Promotion Référencement Publicité Valeur de votre site Outils Systèmes Windows Unix Linux Benchmark Hardware Réseaux locaux Droit Sécurité
Comment ouvrir un pop-up après validation d’un formulaire par les contrôles de validation .NET.
  Auteur : Siegfried DUHAMEL

Je vous propose ici d’utiliser les contrôles de validation .NET pour vérifier les entrées d’un utilisateur puis d’ouvrir un pop-up si les données sont présentes.

Publicité 
L’exemple sera constitué de deux pages :
  • Une pour le formulaire recevant les informations de l’utilisateur ;
  • Une pour le pop-up.
Présentation des pages utilisées.

Le formulaire.

Il va comporter deux champs :

  • un pour le prénom de l’utilisateur;
  • un pour son nom.
Le formulaire sera envoyé par un «LinkButton» et validé par des «RequiredFieldValidator» associés à un «ValidationSummary».

<form id="form1" runat="server">

    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />

    <div>

        <asp:Label ID="Label2" runat="server" Text="Prenom : "></asp:Label>

        <asp:TextBox ID="TextBoxPrenom" runat="server"></asp:TextBox>

        <asp:RequiredFieldValidator ID="RequiredFieldValidatorPrenom" runat="server" ErrorMessage="Veuillez indiquer votre prenom" ControlToValidate="TextBoxPrenom"> *</asp:RequiredFieldValidator>

        <br />

        <asp:Label ID="Label1" runat="server" Text="Nom : "></asp:Label>

        <asp:TextBox ID="TextBoxNom" runat="server"></asp:TextBox>

        <asp:RequiredFieldValidator ID="RequiredFieldValidatorNom" runat="server" ErrorMessage="Veuillez indiquer votre nom." ControlToValidate="TextBoxNom"> *</asp:RequiredFieldValidator>

        <br />

        <asp:LinkButton ID="LinkButtonValider" runat="server" onclientclick="ValideEtAffichePopup()">Valider</asp:LinkButton>

    </div>

</form>

Le pop-up.

Il va comporter deux labels permettant d’afficher nos résultats :

  • un pour le prénom de l’utilisateur;
  • un pour son nom.

<form id="form1" runat="server">

    <div>

        <asp:Label ID="LabelPrenom" runat="server" Text="Label">Prenom récupéré dans le formulaire : </asp:Label>

        <asp:Label ID="LabelResultatPrenom" runat="server"></asp:Label>

        <br />

        <asp:Label ID="LabelNom" runat="server" Text="Label">Nom récupéré dans le formulaire : </asp:Label>

        <asp:Label ID="LabelResultatNom" runat="server"></asp:Label>

    </div>

</form>

La technique utilisée.

Dans le formulaire.

Dans la page de formulaire je vais utiliser la fonction JavaScript suivante :

function ValideEtAffichePopup()

{

if (typeof(Page_ClientValidate) == 'function')

{

            validationResult = Page_ClientValidate('');

}

if(validationResult)

{

var MonNom = document.forms['form1'].TextBoxNom.value;

            var MonPrenom = document.forms['form1'].TextBoxPrenom.value;

            OpenPopUp('Popup.aspx?nom=' + MonNom + '&prenom=' + MonPrenom,'previsu',400,100,1);

}

}

Dans cette fonction j’utilise le principe utilisé dans la fonction «WebForm_DoPostBackWithOptions» qui fait parti des scripts liés aux pages asp.net lorsqu’on utilise les contrôles de validation du .NET.

Dans la fonction Page_ ClientValidate, les éléments du formulaire controlés par un contrôle de validation .NET sont inspectés. Si leurs critères de validation sont tous remplis, Page_ ClientValidate retourne «true» et «false» dans le cas contraire.

Il reste juste à vérifier la valeur de retour, si tout va bien, je récupère les valeurs du formulaire et je construit l’url vers mon popup.
Pour l’explication de la fonction OpenPopUp c’est ici : http://www.devparadise.com/technoweb/code/jscript/a353.php

Dans le pop-up.

Il suffit, dans le code behind, de récupérer les deux valeurs passées dans l’url et de les assigner aux labels :

protected void Page_Load ( object sender, EventArgs e )

{

            this.LabelResultatNom.Text = Request.QueryString["nom"];

            this.LabelResultatPrenom.Text = Request.QueryString["prenom"];

}

Voilà, contrat remplit.

A lire aussi sur Devparadise.com :
  • Message de confirmation sur un DataGrid via le code Behind
  • Illustration de l’héritage de classe et de l’implémentation d’interface en c#...
  • La sérialisation (Marshaling) en XML en C# .Net 2.0
  • Création d’une DLL en C# .Net 2.0
  • Visual C# 2008 Express : Installation et début de projet
  • A télécharger aussi sur Devparadise.com :
  • SOURCE : Message de confirmation sur un DataGrid via le code Behind
  • Comment ouvrir un pop-up après validation d’un formulaire par les contrôles d...
  • SOURCES : Création en VB6 d'une DLL ActiveX utilisant GDI+, et appel de cette...
  • Source de l'article sur l’héritage de classe et de l’implémentation
  • Code Source : sérialisation (Marshaling) en C# .Net 2.0

  • © 1997-2009 tous droits réservés Devparadise.com
    Les logos, et marques déposées sont la propriété de leurs détenteurs respectifs.
    Devparadise.com s'est engagé à respecter la confidentialité des données personnelles régies par la loi 78-17 du 6 janvier 1978.
    Déclaration C.N.I.L. n° 621623
    popup,validator,control,controls,validateur,.net,dotnet,c#,csharp,validation,control validation,C# .Net