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

Services Web Discussion :

ajouter un parametre a une fonction ajax pour un appel à un web service


Sujet :

Services Web

  1. #1
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut ajouter un parametre a une fonction ajax pour un appel à un web service
    bonjour,

    je teste l'Ajax et l'autocomplete.
    dans l'appel du service web vu qu'on ne precise pas les parametres, comment en ajouter?

    je m'explique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <cc1:AutoCompleteExtender ID="TextBox2_AutoCompleteExtender" runat="server" 
            DelimiterCharacters="" Enabled="True" MinimumPrefixLength="1" 
            ServiceMethod="GetCompletionList" EnableCaching="true"
            ServicePath="~/autocompl_service.asmx" TargetControlID="TextBox2" UseContextKey="True">
        </cc1:AutoCompleteExtender>
    ce code fonctionne (j'ai bien galéré sur le fait d'ajouter [System.Web.Script.Services.ScriptService] au webservice pour que ca fonctionne...)

    l'ennui c'est que j'ai plusieures case générée dynamiquement dans un gridview et que je prefererais ne pas avoir a faire une fonction autocomplete par colonne... mais mettre la colonne en parametre...

    donc : "comment ajouter un parametre dans l'appel de la fonction GetCompletionList?"

    merci d'avance

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    "GetCompletionList" est la méthode de ton web service. Comme n'importe quelle méthode elle peut accepter des paramètres. Le plus simple est de lui passer des chaines de caractères. Si elle attend des objets tu sera obligé de faire du SOAP.

    A+

  3. #3
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    bonjour Immobilis,

    désolé mais j'ai pas compris la fin (l'obligation de faire du SOAP).
    et je sais pas si tu a compris mon debut.

    GetCompletionList a déjà des arguments par défaut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (string prefixText, int count, string contextKey)
    ... avec case sensitive.
    mais on peux enlever le ou les derniers apparement.

    sauf que je ne "passe" jamais réellement d'argument lors de l'appel de la fonction.
    je sais pas ou ca se passe ni, du coup (et c'est le sens de ma question) comment ajouter un param (index de la colonne par ex) et lui passer des argument ensuite

    regarde comment se fait l'appel en asp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <cc1:AutoCompleteExtender ID="TextBox2_AutoCompleteExtender" runat="server" 
            DelimiterCharacters="" Enabled="True" MinimumPrefixLength="1" 
            ServiceMethod="GetCompletionList" EnableCaching="true"
            ServicePath="~/autocompl_service.asmx" TargetControlID="TextBox2" UseContextKey="True">
        </cc1:AutoCompleteExtender>
    on ne vois pas trace des arguments passés

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Normalement, tu devrais pouvoir afficher cette page "autocompl_service.asmx". La méthode devrait y figurer sous forme de lien http. En cliquant dessus tu auras plus de détails sur son utilisation et pourras faire des tests.

    Pour passer des paramètres de type chaine (valeur) une URL suffit. Quand il faut passer des objets, des Types, il faut faire du SOAP.

  5. #5
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    je peux afficher la page "autocompl_service.asmx" sans probleme.

    ce que j'aimerais savoir c'est ou sont defini les parametres que l'on passe...

    regarde l'appel de la fonction c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <cc1:AutoCompleteExtender ID="TextBox2_AutoCompleteExtender" runat="server" 
            DelimiterCharacters="" Enabled="True" MinimumPrefixLength="1" 
            ServiceMethod="GetCompletionList" EnableCaching="true"
            ServicePath="~/autocompl_service.asmx" TargetControlID="TextBox2" UseContextKey="True">
        </cc1:AutoCompleteExtender>
    le code du webservice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    autocompl_service.asmx(string prefixText, int count, string contextKey){...}
    et moi j'appelle "autocompl_service.asmx" et pas autocompl_service.asmx(TRUC, MACHIN, CHOSE)

    or TRUC, MACHIN et CHOSE passent en argument et je sais pas comment

    pour le troisieme parametre CHOSE (string contextKey) j'ai trouvé qu'il etait activable et je veux lui assigner une valeur en fonction du contexte

    et si je pige comment passent les arguments, je pourrais en rajouter en plus ouaaaaa le pied mortel...

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Ben par exemple, ce webservice (http://www.webservicex.net/CurrencyC...ConversionRate) t'indique en base de page comment faire pour passer les paramètres.
    GET /CurrencyConvertor.asmx/ConversionRate?FromCurrency=string&ToCurrency=string HTTP/1.1
    C'est une URL avec les paramètres. Il faut faire attention, il est sensible à la casse. C'est un peu idiot mais bon...
    Avec visual studio c'est automatique dès que tu ajoutes la référence au service web.

  7. #7
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    attend, je suis pas sur d'avoir compri...

    tu veux dire qu'il faut "bidouiller" l'integration d'une variable GET?

    nan je pige pas...

    je m'attendais a un ajout dans l'autocomplete du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <params>
         <truc> machinchose="#eval('colonne2')" </truc>
         <value> val="#eval('colonne3')"</value>
    </params>
    pcq le lien que tu m'a filé indique comment passer les variable en GET d'un WS qui les attend (enfin je crois...)

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Est-ce ton service web est référencé dans ton projet VS?

  9. #9
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    ...
    pas sur de ce que tu entend par "référencé".

    il est a la racine en tant que fichier "autocompl_service.asmx".

    je n'ai pas crée un autre projet dans la solution si c'est ta question.

    est ce que je t'ai repondu?

  10. #10
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Hum, je crois que je ne comprend pas bien ce que tu veux. Aurais-tu une copie d'écran de ce que tu souhaites obtenir à montrer?

    Tu as regardé ici: http://www.asp.net/AJAX/AjaxControlT...Complete.aspx?
    Normalement les controles .Net generent eux-même leurs identifiants et peuvent ainsi cohabiter à plusieurs sur la même page.

    A+

  11. #11
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    oui oui j'ai regardé cette page.
    c'est celle ci qui décrit l'utilisation du contextKey.

    moi ce que je veux c'est savoir comment faire pour ajouter un quatrième paramètre au WS et du coup et surtout comment faire pour passer ce paramètre (définir quelle valeur on passe...)

    c'est pour ca que si j'apprend comment sont passé les 3 premiers parametres je saurais comment en ajouter
    pour rappel: Ils ne sont explicitement pas passé dans la page ASP.

  12. #12
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Ok, mais vu que c'est un controle clef en mains, il y a peu de change pour que tu puisse le modifier.

    Si je comprend bien tu souhaites ajouter plusieurs controles dans un tableau? Ou bien un seul pour toutes les cellules de ton tableau?

  13. #13
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    c'est ca un seul pour certaines colonnes!

    c'est dément, personne ne sais comment "passent" les params par defaut...

    genre le
    il est ecrit nulle part comment ASP lui donne sa valeur.
    et personne ne le sais?

    j'ai mal posé ma question ou quoi?

  14. #14
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Ok, mais vu que c'est un controle clef en mains, il y a peu de change pour que tu puisses le modifier.
    Pourquoi ne pas faire ton propre custom control

  15. #15
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    faire un custom control ajax de A à Z avec du webservice gerant de l'autocomplete dans un textbox

    OU

    ajouter un paramètre a l'autocomplete ajax existant

    je cherche a aller au plus simple!

    bon sang mais comment passent ces fjkhkljdgfldsjfjgflmjglkjgdmfdsih de paramètres!!!!?
    Je pensais que c'etait une question basique...

  16. #16
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Ben non, les controles clef en mains ne sont pas forcement personnalisables. Ajouter des paramètres suplémentaires n'est pas forcement supporté. Le code passant les paramètres est géré par une fonction javascript générée automatiquement et que tu ne peux pas modifier. Tout es encapsulé dans une DLL.

  17. #17
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    ok merci.

    asp.net est sinon "open source" au moins une variante ou on peux accéder au code source non?

    sais tu comment je pourrais savoir ce que ces fonctions javascript générée en fantôme puis détruites fabriquent?

    dis moi si je me trompe mais meme si il n'y a pas moyen de modifier, il y a toujours moyen d'ajouter une fonction JS connectant un WS...

    j'ai faux?

  18. #18
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par igorzup Voir le message
    asp.net est sinon "open source" au moins une variante ou on peux accéder au code source non?
    Il y a des programmes qui desassemble les dll, mais c'est pas dit que tout soit visible...
    Citation Envoyé par igorzup Voir le message
    il y a toujours moyen d'ajouter une fonction JS connectant un WS...
    Oui, c'est possible, mais si la méthode du web service attend un paramètre et pas deux, tu ne pourras rien faire si tu n'as pas la main sur le WS.
    A+

  19. #19
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    je peux modifier le WS comme je veux, aucun problème!

    je le repete c'est le passage des paramètres que je vois pas dans la partie ASP!

  20. #20
    Membre régulier Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Points : 107
    Points
    107
    Par défaut
    bon bah écoute merci de m'avoir répondu.

    le fonctionnement de l'autocomplete textbox d'ajax restera incompris...
    je suis très entonné!


    message aux génération future --> MP

Discussions similaires

  1. parametre par défaut d'une fonction => et pour un objet ?
    Par fourchette dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2009, 16h51
  2. Un design pattern pour des appels à un web service
    Par kekranx dans le forum Design Patterns
    Réponses: 0
    Dernier message: 07/07/2008, 09h32
  3. [langage] passage de paramètres à une fonction
    Par BARBIER dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 15h46
  4. tableau dynamique en parametre d'une fonction
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 27/04/2004, 16h35
  5. [VB6] Ajouter un commentaire à une fonction d'une DLL
    Par Ace303 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/06/2003, 08h14

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