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

VB.NET Discussion :

Appel de javascript en VB.Net


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut Appel de javascript en VB.Net
    Bonjour,

    j'essai actuellement de faire un appel tout bête de la fonction alert() de javascript dans mon code VB.Net. Ceci va me permettre de retourner un texte pour prévenir l'utilisateur que le champ d'id txt_nomApplication du nom de l'application n'est pas rempli. J'ai donc tenter d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If txt_nomApplication.Text = String.Empty Then
                Dim strApp As String = "Erreur : Vous devez saisir le nom d'application"
                Response.Write("<script language=""Javascript"">")
                Response.Write("alert(" + strApp + ");")
                Response.Write("</script>")
             end if
    Cependant, ceci ne fonctionne pas.

    Si vous avez une idée cela m'arrangerait vraiment

    Merci !

  2. #2
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Salut,

    Il y'a la fonction RegisterClientScriptBlock() qui permet d'ajouter du code javascript dans ta page à partir du codebehind. Voir la FAQ

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Merci Hinault Romaric pour ta réponse

    J'ai consulté la FAQ et j'essaie actuellement d'utiliser cette méthode. Seulement, un petit problème persiste. Celui concernant la méthode . Je voudrais juste en fait faire un script client de type text/javascript mais je ne sais pas comment le faire accepter à la méthode.

    Merci !

  4. #4
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Je voudrais juste en fait faire un script client de type text/javascript mais je ne sais pas comment le faire accepter à la méthode.
    Avec GetType () le script client qui est généré est de type text/javascript
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Citation Envoyé par Hinault Romaric
    Avec GetType () le script client qui est généré est de type text/javascript
    Le problème est que quand je garde getType() dans le code ci-dessous, j'ai forcément l'erreur suivante :

    Erreur 52 Type attendu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.ClientScript.RegisterClientScriptBlock(GetType(), "alert nomApplication empty", "alert('Erreur : Vous devez saisir le nom d'application');", True)

  6. #6
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Je crois que tu devrais plutot faire un truc du genre.

    Ou

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  7. #7
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Citation Envoyé par Hinault Romaric
    Je crois que tu devrais plutot faire un truc du genre.

    Merci ! c'est bien ça ! je n'ai plus d'erreur et j'ai donc le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If txt_nomApplication.Text = String.Empty Then
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert nomApplication empty", "alert('Erreur : Vous devez saisir le nom d'application');", True)
    Cependant, lorsque je clique sur le bouton censé contrôler la saisie, rien ne se passe :s pas de message de la fonction alert()...

  8. #8
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Ce simple avec ce code le script javascript qui est generer n'est pas inclus dans une fonction, et le probleme c'est comment donc l'appelé dans ce cas, essaye plutot cecci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim csText As New StringBuilder()
    csText.Append("<script type=""text/javascript""> function DoAllertk() {")
    csText.Append("alert('Erreur : Vous devez saisir le nom d'application');'} </")
    csText.Append("script>")
     
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert nomApplication empty", csText.ToString(),true)
    Plus de Détail : http://msdn.microsoft.com/en-us/library/btf44dc9.aspx

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Merci encore Hinault Romaric, je comprends mieux le problème de mon code.

    Seulement, me génère une erreur :
    type "StringBuilder" non défini
    Aurais-tu une explication ? :s

  10. #10
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    fait un import de
    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  11. #11
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Citation Envoyé par Hinault Romaric
    fait un import de

    Oui en effet c'était juste l'oubli d'un import

    Mais malgré qu'il n'y ait plus d'erreur, toujours aucune fenêtre ne s'ouvre pour le alert() :s

  12. #12
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Dans ce cas fait voir le code ou tu fait appel à ta fonction JavaScript, et aussi essaye de voir le code source de page à partir du navigateur pour voir si celui-ci est bien générer.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  13. #13
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Bonjour,

    Voici mon code pour plus de clarté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ' Fonction appelée lors du clic pour la validation de la demande :
     
    Private Sub IBtnValider_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IBtnValider.Click
     
                If ControleValidator() Then
                    Dim idApplication As String = InsertApplication()
                    Response.Redirect("ConfirmationAjoutClient.aspx?idApplication=" + idApplication.ToString)
                End If
     
        End Sub
    Puis voici ControleValidator() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Function ControleValidator() As Boolean
     
         ' Champ de saisie du nom de l'application :
         If txt_nomApplication.Text = String.Empty Then
     
             Dim csText As New StringBuilder()
             csText.Append("<script type=""text/javascript""> function DoAllertk() {")
             csText.Append("alert('Erreur : Vous devez saisir le nom d'application');'} </")
             csText.Append("script>")
     
             Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert nomApplication empty", csText.ToString(), True)
             return false
     
         End If
     
    End Function
    Il y a d'autres vérifications dans cette fonction mais il n'est pas nécessaire de le savoir, sachant que rien que pour le nom de l'application, les lignes suivantes ne fonctionnent pas :s

    J'éspère que ça pourra vous éclairer

    Merci encore !

  14. #14
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Salut,

    En fait ca ne fonctionne pas comme cella, la fonction ClientScript.RegisterClientScriptBlock) ajoute le script javaScript que tu as écrit dans le code-behind dans la page lors du chargement de la page à l'évènement Page_load ou Page_init, ensuite puisque celui-ci doit être exécuter coté client, dans, tu ne doit plus faire appel à ce code dans le code métier, en principe le bouton IBtnValider devrais appelé directement la fonction javacript que tu écrit. Donc en principe la fonction ControleValidator() devrais être simplement ta fonction javascript.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  15. #15
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Bonjour Hinault Romaric et merci pour ta réponse.

    J'ai donc suivi tes conseils et j'ai modifié mon événement lors du clic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub IBtnValider_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IBtnValider.Click
     
    dim valider as boolean = true
     
    ' Champ de saisie du nom de l'application :
         If txt_nomApplication.Text = String.Empty Then
     
             Dim csText As New StringBuilder()
             csText.Append("<script type=""text/javascript""> function DoAllertk() {")
             csText.Append("alert('Erreur : Vous devez saisir le nom d'application');'} </")
             csText.Append("script>")
     
             Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert nomApplication empty", csText.ToString(), True)
     
    valider = false
     
    end if
     
                If valider = true Then
                    Dim idApplication As String = InsertApplication()
                    Response.Redirect("ConfirmationAjoutClient.aspx?idApplication=" + idApplication.ToString)
                End If
     
        End Sub
    Mais toujours pas de texte à l'affichage :s

Discussions similaires

  1. appel de javascript dans vb.net
    Par manaboko dans le forum VB.NET
    Réponses: 0
    Dernier message: 21/12/2009, 07h43
  2. Appel d'une fonction javascript de VB.net
    Par Maroxye dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/05/2008, 16h40
  3. appel fichier javascript
    Par bressan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/06/2006, 16h51
  4. [XSLT] [MSXML] probleme d'appel a javascript
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/01/2006, 14h01

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