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 :

Appeler une méthode behind VB sur une page ASP


Sujet :

ASP.NET

  1. #21
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    sinon sur un autre post ou la personne voulait aussi faire un postback http://www.developpez.net/forums/d13...n-code-behind/

    mais c'est pas normal sinon que ce simple morceau de code jquery ne fonctionne pas
    il faut ici faire attention en Jquery
    est différent de
    on met un # pour récupérer par id et . par class

    Les scriptlets comme tu essayes de faire là je crois qu'ils sont appeler qu'à l'exécution de la page, tu peux pas une fois ta page chargée appeler une méthode comme ça.

  2. #22
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Euh ça ne marche pas ne veut pas dire grand chose

    Tu as une erreur JS dans la console ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #23
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    J'ai fait un débogage à partir de cette méthode:
    Citation Envoyé par FirePrawn Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#<%=id.ClientID%>').click();
    Apparemment il me trouve bien mon contrôle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#ctl00_ContentPlaceHolder1_btnVerifDataAnalyse').click();
    Mais il ne lance pas ma méthode par contre !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #24
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Ton bouton est bien en runat="server" ?

    Tu testes sous quel navigateur ? Si ça ne se lance pas c'est que tu dois avoir une erreur JS, qui doit être marqué dans l'onglet "Console" de la developper toolbar (F12 sur tous les navigateurs sauf IE < 8).
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  5. #25
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Oui oui c'est en server. Les applications tournent sur IE8 pour le moment (ça pourrait bien changer à l'avenir). Sur la console j'ai ceci comme retour:
    >>$('#<%=btnVerifDataAnalyse.ClientID%>').click();
    "Cet objet ne gère pas cette propriété ou cette méthode"


    Il faut pourtant que je puisse lancer ma méthode avant le déchargement de la page.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #26
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Tu ne peux pas écrire directement ce code dans la console étant donné que c'est le moteur d'asp.net qui te remplace <%=btnVerifDataAnalyse.ClientID%> par le clientId à l’exécution de la page et attention à l'utilisation de ce scriptlet si jamais tu es amené à ajouter des contrôles dynamiquement à ta page tu auras peut être un plantage.

  7. #27
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    N'y a-t-il pas un moyen d'appeler une procédure VB depuis jQuery ? Celle que j'ai testée fonctionne mais pas aux bons moment. C'est tout ce qu'il me faut, avant le déchargement d'une page, appeler une procédure VB point bas.

    [Edit]
    Cela dit, je dois pouvoir annuler la demande de déchargement de la page
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #28
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Alors ça c'est très étrange

    Depuis quand un input gère pas le click
    T'es sûr de ton id ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  9. #29
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Oui oui oui je sûr de tout
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #30
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    tu ne peux pas appeler une procédure directement depuis le JS à part si c'est une webmethod mais ton code behind est sensé faire quoi ?

  11. #31
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    tu ne peux pas appeler une procédure directement depuis le JS à part si c'est une webmethod mais ton code behind est sensé faire quoi ?
    Ma méthode doit charger un DataSet avec des données d'analyses et je boucle sur le DataGridView pour comparer les données. Si une donnée à changée, je préviens l'utilisateur pour qu'il puisse enregistrer ses nouvelles données ou pas.
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
        Public Sub VerifDataAnalyse()
            Dim Row As DataRowView
            Dim dsSaisie = New data.dsSaisieAnalyses
            Dim LstParam = New data.dsSaisieAnalysesTableAdapters.PARAMETRESTableAdapter
            Dim TableAnalyses As data.dsSaisieAnalyses.AnDataTable
     
            MsgBox("VerifDataAnalyse !!")
     
            '* Chargement de la liste des parametres
            LstParam.ClearBeforeFill = True
            LstParam.Fill(dsSaisie.PARAMETRES)
     
            '* Chargement des données du prélèvement en cours
            Row = CType(Session("prvt"), DataView)(Session("nb") - 1)
     
            '* Chargement des analyses par rapport au prélèvement
            TableAnalyses = oform.AnalysesLaboratoire(Row("STEP"), Row("DTE"), Row("HRE"), Row("PMO"), Row("LOC"))
     
            '* Boucles pour tester la correspondance entre les analyses enregistrées et affichées
            For Each _item As DataGridItem In dgAnalyses.Items
                Dim val = CType(_item.FindControl("txtVal"), TextBox).Text
                Dim param = CType(_item.FindControl("hdPARAM"), HtmlInputHidden).Value
     
                For Each an In TableAnalyses
                    If an.PARAM = param Then
                        If an.VAL <> val Then
                            Dim param_lib = dsSaisie.PARAMETRES.Select(String.Format("ID='{0}'", param))
                            MsgBox("La valeur du champ: " + param_lib.ElementAt(0).Item(1).ToString() + " a changée !")
                        End If
                        Exit For
                    End If
                Next
            Next
        End Sub
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  12. #32
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    pour cela tu es obligé de faire un postback et donc soit faire un click sur un bouton ou faire toi même ton postback avec la function __doPostBack (google est ton ami)

  13. #33
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Après vérification avec mon maître .NET sur le chat, aucune raison pour que la ligne de jQuery te pète une erreur
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  14. #34
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    pour cela tu es obligé de faire un postback et donc soit faire un click sur un bouton ou faire toi même ton postback avec la function __doPostBack (google est ton ami)
    Ca doit être automatique car je dois pouvoir détecter s'il y a un changement dans les valeurs avant de quitter une page ou même le navigateur et de prévenir l'utilisateur. Ils ne veulent pas en automatique car si jamais une valeur change alors que ce n'était pas voulu (genre le focus est sur un TextBox et une touche clavier à été appuyée par mégarde) il doivent pouvoir remettre la bonne valeur
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  15. #35
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par FirePrawn Voir le message
    Après vérification avec mon maître .NET sur le chat, aucune raison pour que la ligne de jQuery te pète une erreur
    Je rebalance le code au cas où car il a un petit peu changé:
    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
    if (jQuery) {
                $(document).ready(function () {
                    var ModifData = '<%=Session("modif_data")%>';
                    var AddData = '<%=Session("add_data")%>';
     
                    $('.el_menu_enregistrer').click(function (event) {
                        ModifData = "False";
                        AddData = "False";
                    });
     
                    $(window).bind('beforeunload', function (e) {
                        $('#<%=btnVerifDataAnalyse.ClientID%>').click();
     
                        if (ModifData == "True" || AddData == "True") {
                            return "Etes-vous sûr de vouloir annuler vos modifications ?";
                        }
                    });
                });
            }
            else {
                alert("La bibliothèque jQuery n'est pas chargée, l'enregistrement automatique à la fermture du formulaire ne fonctionnera donc pas !!\n");
            }
    Voilà, il trouve le bouton mais il lance pas click()
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  16. #36
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Par contre si je test ce genre de chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert($('#<%=btnVerifDataAnalyse.ClientID%>').value);
    J'ai comme réponse:
    undefined
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  17. #37
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    le beforeunload n'est pas forcément une bonne idée suivant comment la page est quitté il est pas forcément soulevé essaye la technique du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#<%=btnVerifDataAnalyse.ClientID%>')[0].click();
    et le message après ne risque pas d'apparaitre si le click est soulevé
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#<%=btnVerifDataAnalyse.ClientID%>').val()
    en jquery

  18. #38
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Erreur d'exécution Microsoft JScript: '0' a la valeur Null ou n'est pas un objet.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  19. #39
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Essaye ça sinon $('#<%=btnVerifDataAnalyse.ClientID%>').get(0).click(); mais il ne faut pas écrire ça dans la console mais directement dans la page aspx

    sinon une autre méthode serait de faire de l'ajax mais il faudrait que tu crée un objet json contenant les données de ta datagrid pour les comparer a ton dataset en code et renvoyé un booléen permettant de savoir s'il y a eu une modif, mais ça c'est si tu as le temps.

  20. #40
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    Essaye ça sinon $('#<%=btnVerifDataAnalyse.ClientID%>').get(0).click(); mais il ne faut pas écrire ça dans la console mais directement dans la page aspx
    Erreur d'exécution Microsoft JScript: 'get(...)' a la valeur Null ou n'est pas un objet.

    Citation Envoyé par youtpout978 Voir le message
    sinon une autre méthode serait de faire de l'ajax mais il faudrait que tu crée un objet json contenant les données de ta datagrid pour les comparer a ton dataset en code et renvoyé un booléen permettant de savoir s'il y a eu une modif, mais ça c'est si tu as le temps.
    Trop lourd pour si peu de choses d'autant plus json connais pas du tout.

    JavaScript ne permet-il pas l'accès au BDD ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/10/2012, 17h01
  2. [Thread] appel de méthodes non-synchronized dans une méthode synchronized
    Par dr23fr dans le forum Concurrence et multi-thread
    Réponses: 1
    Dernier message: 24/06/2008, 23h47
  3. [Access] Requête sur une table et tri sur une autre
    Par VooDooS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/08/2006, 16h07
  4. Réponses: 6
    Dernier message: 27/05/2005, 16h43
  5. Réponses: 3
    Dernier message: 16/04/2004, 17h51

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