IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[c#] Déclencher un événement asp.net et un événement JavaScript en même temps ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut [c#] Déclencher un événement asp.net et un événement JavaScript en même temps ?
    Bonjour,
    je développe une page web qui permet de sauver dans une base de données ce qui est saisi à l'écran.

    Le bouton enreg permet de sauver la page.

    Je voudrais que l'utilisateur soit averti s'il essaie de sauver la page et qu'il n'a pas rempli un contrôle : f_fiche.

    Comme il n'y a pas d'équivalent au MsgBox VB j'ai pensé à une alerte JavaScript sur click de enreg.

    j'ai défini le bouton comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
                CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
                Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click verifiesivide('f_fiche')"
                Text="SAUVEZ !" Width="100%" />
    enreg_Click est une procédure c# qui sauve les données de la page.
    verifiesivide serait un appel JavaScript qui signalerait que f_fiche n'est pas rempli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function verifiesivide(Source)
            {
                 if (document.all("Source").value=="")
                    { alert("Vous devez renseigner la valeur de : " + Source);}
            }
    J'obtiens une erreur de compilation :

    Message d'erreur du compilateur: CS1012: Trop de caractères dans le littéral de caractère

    Ligne 4871 : <asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
    Ligne 4872 : CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
    Ligne 4873 : Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click verifiesivide('f_fiche')"
    Par ailleurs on ne peut pas définir deux événements onclick.

    Autre essai, avec onclientclick :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:Button ID="enreg" runat="server" BackColor="#C00000" BorderColor="#C00000" BorderStyle="Outset"
                CommandArgument="" CommandName="Enregistre" Font-Bold="True" Font-Italic="True"
                Font-Names="Arial" Font-Size="Medium" ForeColor="White" OnClick="enreg_Click"
                Text="SAUVEZ !" Width="100%" OnClientClick="verifiesivide('f_fiche')" />
    Pas d'erreur mais pas de boîte d'information non plus ..

    Comment feriez-vous pour déclencher une boite de dialogue sur click d'un bouton dans cette situation ?

    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Par défaut
    Hello,

    tu as 2 manières de faire :
    Soit tu demande une confirmation genre "voulez vous enregistrez ceci" et si ok tu lance ta commande aspnet
    Soit tu lance ta commande aspnet et dedans tu passe une alert javascrit genre "Vous avez enregistré ceci"

    quel manière t'interesse ? Je te passerai un bout de code correspondant.

  3. #3
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Citation Envoyé par NicoNGRI
    Hello,

    tu as 2 manières de faire :
    Soit tu demande une confirmation genre "voulez vous enregistrez ceci" et si ok tu lance ta commande aspnet
    Soit tu lance ta commande aspnet et dedans tu passe une alert javascrit genre "Vous avez enregistré ceci"

    quel manière t'interesse ? Je te passerai un bout de code correspondant.
    Merci NicoNGRI,
    je pense que la seconde manière serait plus pratique car il y a 319 contrôles sur la page.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Par défaut
    en Dotnet 1.0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.RegisterClientScriptBlock(strJSScriptKey, "<script language=javascript>alert('Woot');</script>")
    en dotnet 2.0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterStartupScript(Me.GetType(), "nom", "alert('Woot');", True)

  5. #5
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Citation Envoyé par NicoNGRI
    en Dotnet 1.0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.RegisterClientScriptBlock(strJSScriptKey, "<script language=javascript>alert('Woot');</script>")
    en dotnet 2.0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterStartupScript(Me.GetType(), "nom", "alert('Woot');", True)
    Super, merci NicoNGRI

    J'obtiens un message d'erreur de compilation (je suis bien en framework 2.0) :

    Message d'erreur du compilateur: CS0103: Le nom 'Me' n'existe pas dans le contexte actuel

    Erreur source:



    Ligne 74 : if (f_fiche.Text.Length == 0)
    Ligne 75 : {
    Ligne 76 : Page.ClientScript.RegisterStartupScript(Me.GetType(), "SAISIE", "alert('Vous devez renseigner le numéro de fiche');", True);
    Ligne 77 :
    Ligne 78 : }

  6. #6
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Par défaut
    Bonjour,
    Serait-il possible d'avoir également la seconde méthode, stp?
    Cordialement
    Pinocchio

  7. #7
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Par défaut
    essaye avec GetType(Page) à la place de Me.GetType()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/09/2010, 16h39
  2. appel de fonction asp.net dans un événement javascript
    Par rochdi123 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/05/2009, 15h42
  3. Remplacer des controles ajax dans un site ASP .net par des codes javascript
    Par Contact2012 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/09/2008, 13h50
  4. [ASP.NET] Radio liste et javascript
    Par trihanhcie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/01/2008, 11h41
  5. asp.net/c# prb de javascript avec masterpage
    Par namto dans le forum ASP.NET
    Réponses: 10
    Dernier message: 30/08/2007, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo