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 :

Utilisation d'Ajax dans une DATALIST


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 58
    Points : 33
    Points
    33
    Par défaut Utilisation d'Ajax dans une DATALIST
    Bonjour,
    J'ai une question relativement simple, je pense.
    Je souhaite afficher le contenu d'un panel en utilisant l'évenement onclick sur un élément du datalist.

    Je m'explique...
    J'ai une datalist, que je rempli dynamiquement avec des databind du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:DataList ID="liste" runat="server"
                       onselectedindexchanged="liste_SelectedIndexChanged"                    >
                        <SelectedItemStyle BorderColor="#3366FF" orderStyle="Outset" BorderWidth="2px" />
                        <ItemTemplate>
    <asp:Panel id="paneltoto">
                            <%# DataBinder.Eval(Container.DataItem, "cd_machine") %> 
    ...                    
    <asp:linkbutton ID="lbVoir" 
                          CommandArgument='<%# DataBinder.Eval(Container.DataItem, "cd_machine")%>' 
                          Text='Voir' CommandName="Select" style="" runat="server" />       
    </asp:Panel> 
    </ItemTemplate>                            
    </asp:DataList>
    J'ai ensuite une autre zone (zoneStats) que je veux afficher avec un onclick sur un élément de la liste. Pour l'instant je ne l'affiche qu'en cliquant sur l'hyperlink de ma liste, avec un trigger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" >
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="liste" />
            </Triggers>
            <ContentTemplate>
                <asp:Panel ID="zoneStats" runat="server" />
            </ContentTemplate>
    </asp:UpdatePanel>
    J'ai après un code serveur qui se charge de remplir la zone:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    protected void liste_SelectedIndexChanged(object sender, EventArgs e)
        {
            zoneStats.Visible = true;
            remplirZoneStats(...);
        }
     
        protected void remplirZoneStats(int machine)
        {
            ....
        }
    Je voudrais pouvoir appeler cette méthode serveur à partir d'un code javascript que j'aurais créé moi même, et ne pas être cantonné à l'utilisation d'un hyperlink asp... En effet, le trigger pour l'update de mon panel "zoneStats" est lié par défaut à l'hyperlink, je ne sais pas comment faire autrement.

    Me suis-je fais comprendre?
    En gros avoir une utilisation d'Ajax "classique", telle que l'on peut l'avoir dans jQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="zoneStats" onclick="$(this).load('calcul_serveur.aspx')">
    Donc... Quelle est la syntaxe à utiliser côté client en ASP.NET pour charger le résultat de l'exécution d'une méthode serveur??? Est-il possible de ne faire exécuter au serveur qu'UNE méthode ?

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Personne ?

  3. #3
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Je ne connais pas la syntaxe exacte, mais rien ne t'empêche d'invoquer manuellement un update du panel AJAX via Javascript, tout en lui passant un paramètre (je sais que c'est faisable mais je ne sais pas comment car j'utilise des contrôles différents)

    Un peu de recherche sur google devrait te fournir ce que tu cherches

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Eh bien... En général je fais toujours des recherches sur Internet avant d'en venir à poster sur un forum... Je ne sais même pas comment chercher

  5. #5
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    http://msdn.microsoft.com/msdnmag/is...aspx?loc=fr#S6

    Ce lien devrait déjà te fournir des info intéressantes je pense :-)

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Euh merci, mais... C'est ce que j'ai fait. Il explique le fonctionnement des postback Ajax, et comment faire en sorte de faire des rendus partiels en fonction d'évènements à l'aide de triggers.

    Ce que je veux, c'est explicitement appeler une méthode serveur avec du javascript...

  7. #7
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    En fait, après recherche, ce n'est pas faisable "directement".

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 58
    Points : 33
    Points
    33
    Par défaut
    Oui, c'est déjà ce que je fais avec mon linkbutton... Sauf que lui ajoute le handler manuellement. L'update se fait toujours grâce au trigger.

    C'est quand même incroyable non?

    Peut être qu'en gardant le linkbutton, en le cachant (visible:hidden), et en faisant en sorte que mon évenement "onclick" de ma ligne de datalist appel l'evenement "onclick" de mon linkbutton, çà peut marcher... C'est moche, mais je vais tester.

  9. #9
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    En effet, c'est assez incroyable.. Je pensais que c'était faisable car j'utilise des composants payants et eux gèrent ça à la perfection...

    Si tu as un peu de budget, tu peux regarder du côté des composants offert par Telerik (www.telerik.com)

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/02/2015, 22h10
  2. Utilisation de Getdate dans une fonction
    Par BaronSamdi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2004, 10h12
  3. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  4. [Applet]Utiliser plusieurs Applet dans une même classe
    Par BRAUKRIS dans le forum Applets
    Réponses: 5
    Dernier message: 11/06/2004, 15h27
  5. Réponses: 3
    Dernier message: 11/03/2004, 10h58

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