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#][AJAX] control server


Sujet :

ASP.NET

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    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
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut [C#][AJAX] control server
    Hello World,

    j'ai l'impression de posé une question stupide, mais peut-on binder un datagrid ou tout autre composant server avec ajax.

    Parceque, tout ce qui récupération de donner c'est possible en AJAX, requetage, éxécution de WebService.

    Donc on peut dire que le plus dur est fait!!

    Mais pour tout ce qui est affichage comment faire autrement qu'avec des javascript!

    Quelqu'un a-il une solution!

    Cordialement.
    ALCINA.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    J'ai du mal à saisir la question. AJAX c'est essentiellement du javascript coté client, le J de AJAX est la pour ça d'ailleurs . Réponse courte donc : oui on peut rebinder une grid coté serveur et ne rafraichir que la grid dans la page avec ajax.

    PS : ici des infos sur les lib ajax de "haut niveau" dispo pour .Net : http://www.developpez.net/forums/viewtopic.php?t=454114

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    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
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    merci de ta réponse je vais cherché du coté d'ATLAS.

    Perso c'est pour du reporting.

    Donc en gros : j'ai une div filtre et une div résultat, comment rafraichir la div résultat sans postback et sans javascript (trop lourd)?
    AJAX parait une bonne solution, on récupère les données! maintenant la forme! rebinder le datagrid ou autre sans javascript trop lourd!

    "peut on apliquer un css sur le retour du XML pour le mettre en forme facilement."


  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Non mais la tu parles de faire de l'ajax "a la main". Si tu fais ça effectivement va falloir reformatter tes données pour les afficher. Mais avec des librairies comme Atals, tu ne t'occupes plus du tout de ça, en gros tu ne fais meme plus de javascript toi, c'est la librairie qui gère ce genre de chose, et ta grid sera correctement réaffichée. Regarde un peu ces librairies, joue avec et tu comprendras.

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    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
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    OK merci.

    J'ai l'impression que c'est pas encore au point, l'exemple
    http://atlas.asp.net/quickstart/atlas/doc/data/default.aspx#datatable ne marche pas! c'est ça qui m'interresse!

    ATLAS n'est quand version beta donc on va attendre la vrai version. (peut-être pourra t on utiliser Crystal)

    Cordialement.
    ALCINA.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    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
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    http://atlas.asp.net/quickstart/atlas/doc/data/default.aspx#datatable "Returning a DataTable" ne marche pas, Il y a écrit DataTable mais rien d'autre, est-ce que cela viens de moi ou est-ce pareil pour tout le monde?

    j'ai testé chez moi ça ne marche pas non plus.

    J'ai créer le template Atlas en dézippant le .vsi.

    et j'ai copié le code suivant .ASPX :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
     
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head runat="server">
        <title>Test AJAX</title>     
    </head>
    <body>
        <form id="Main" runat="server">   
     
        <h3>DataTable</h3>
     
        <div id="results"></div>
     
        <div id="resultsTemplate">
            <table border="1" cellspacing="0">
                <thead>
                    <tr>
                        <td>First name</td>
                        <td>Last name</td>
                        <td>Title</td>
                    </tr>
                </thead>
                <tbody id="resultsTemplateParent">
                    <tr id="resultsItemTemplate">
                        <td id="resultsItemFirstNameLabel"></td>
                        <td id="resultsItemLastNameLabel"></td>
                        <td id="resultsItemTitleLabel"></td>
                    </tr>
                </tbody>
            </table>
     
        </div>
        <div id="masterNoDataTemplate">No data</div>   
     
         <script type="text/xml-script">
            <page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
          <components>
                    <dataSource id="sqlDataSource" serviceURL="http://localhost:2407/WebServices/WebServiceMicrosoft.asmx" propertyChanged="onChange"/>
     
                    <listView targetElement="results" itemTemplateParentElementId="resultsTemplateParent" propertyChanged="onChange">
                        <bindings>
                            <binding dataContext="sqlDataSource" dataPath="data" property="data"/>
                        </bindings>
                        <layoutTemplate>
                            <template layoutElement="resultsTemplate"/>
                        </layoutTemplate>
                        <itemTemplate>
                            <template layoutElement="resultsItemTemplate">
                                <label targetElement="resultsItemFirstNameLabel">
                                    <bindings>
                                        <binding dataPath="SITE" property="text"/>
                                    </bindings>
                                </label>
                                <label targetElement="resultsItemLastNameLabel">
                                    <bindings>
                                        <binding dataPath="NBRCDE" property="text"/>
                                    </bindings>
                                </label>
                                <label targetElement="resultsItemTitleLabel">
                                    <bindings>
                                        <binding dataPath="CAT" property="text"/>
                                    </bindings>
                                </label>
                            </template>
                        </itemTemplate>
                         <emptyTemplate>
                                <template layoutElement="masterNoDataTemplate"/>
                         </emptyTemplate>
                    </listView>                                
                    <application>
                        <load>
                            <invokeMethod target="sqlDataSource" method="select"/>
                        </load>
                    </application>
                </components>                       
            </page>
        </script>    
     
    </form>
     
     
    </body>
    </html>
    .cs
    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
     
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
     
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
     
    using Microsoft;
    using Microsoft.Web;
    using Microsoft.Web.UI;
     
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
    }
    le webservice :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
     
    using System;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
     
    using Microsoft.Web.Services;
     
    using System.Data;
    using Depolabo.Dao.Appcom.Common;
    using Depolabo.Dao;
    using Oracle.DataAccess.Client;
     
     
    /// <summary>
    /// Summary description for WebServiceMicrosoft
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class WebServiceMicrosoft : DataService
    {
        [DataObjectMethod(DataObjectMethodType.Select)]
        public DataTable GetDataTable()
        {
     
            DateTime DT = new DateTime(2006, 01, 27);
            OracleParams mesParamsPCC = new OracleParams();
            OracleParameter PCC1 = new OracleParameter("1", OracleDbType.Date);
            PCC1.Value = DT;
     
            OracleParameter PCC2 = new OracleParameter("2", OracleDbType.Varchar2);
            PCC2.Value = "";
     
            OracleParameter PCC3 = new OracleParameter("3", OracleDbType.Varchar2);
            PCC3.Value = "%";
     
     
            OracleParameter PCC4 = new OracleParameter("4", OracleDbType.RefCursor);
            PCC4.Direction = ParameterDirection.Output;
     
            mesParamsPCC.Add(PCC1);
            mesParamsPCC.Add(PCC2);
            mesParamsPCC.Add(PCC3);
            mesParamsPCC.Add(PCC4);
     
     
            PrtfCdeCollection PCC = new PrtfCdeCollection();
            ArrayList AL = PCC.getListePrtfCdes(mesParamsPCC, "COMMANDE");
            return PCC.ArrayListToDataTable();//renvoi un DataTable avec les colonnes SITE; NBRCDE et CAT
        }
    }
    quelqu'un pourrait-il me dire ou est l'erreur?

    SVP

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    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
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    MAGIC AJAX marche affreusement bien!

    Mais peut-on investir dans Magic Ajax?

    ATLAS est développé par Microsoft donc un peut se dire qu'il n'y aura pas de problème de support!
    mais MagicAjax est un projet sourceforge!
    qu'en penser vous?

    : :

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    J'en pense que si MagicAjax répond a tes besoins, que tu n'as pas de bug lié à cette librairie, alors pas de probleme à l'utiliser. Et aprés tout le fait que ce soit un projet open source est plutot mieux qu'un projet propriétaire : tu peux y apporter des modifications, améliorations, correction de bug toi même.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sphax Voir le message
    Salut,

    J'ai du mal à saisir la question. AJAX c'est essentiellement du javascript coté client, le J de AJAX est la pour ça d'ailleurs . Réponse courte donc : oui on peut rebinder une grid coté serveur et ne rafraichir que la grid dans la page avec ajax.

    PS : ici des infos sur les lib ajax de "haut niveau" dispo pour .Net : http://www.developpez.net/forums/viewtopic.php?t=454114
    plutôt cette url :
    http://www.developpez.net/forums/sho...d.php?t=238651

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

Discussions similaires

  1. AJAX Control Toolkit
    Par samworld dans le forum ASP.NET
    Réponses: 9
    Dernier message: 25/06/2007, 16h56
  2. Formater le calendar Ajax control Toolkit
    Par kazoumoulox dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/06/2007, 09h19
  3. Ajax Controls (Atlas) TabPanel et usercontrol
    Par chnew dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/06/2007, 10h35
  4. Ajax Control Toolkit, info ou intox?
    Par gniouf2k6 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/02/2007, 08h59
  5. [AJAX] AJAX Chat + Server perso (Sans SQL ni fichier text)
    Par |PaRa-BoL dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/01/2007, 03h37

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