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 :

Postback ou javascript?


Sujet :

ASP.NET

  1. #1
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut Postback ou javascript?
    Bonjour à tous,

    Dans un projet, je suis en train de faire une liste ou on peut deplacer les elements par drag and drop avec un combo et un bouton qui permettent d'ajouter un element.

    Ca marche mais je me posais la question s'il vaut mieux faire ces traitements en javascript (ce qui m'obligerait à utiliser un hidden control pour me rappeller des items et de leur ordre) ou bien par postback à chaque action (changement de place, ajout, ...) ce qui me permettrait de ne pas utiliser d'hidden control.

    En gros, la question est "est ce qu'il vaut mieux economiser les postback ou bien avec un serveur windows server 2008, est ce qu'on peut supporter 5000 users avec des postbacks dans tous les sens "?

    Merci

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,
    Personnellement, je choisi toujours de faire le traitement de cote client (donc javascript) si ça reste jouable.
    Dans ton cas, la question qui se pose est la suivante: est ce que les volumes des données qui vont être stocker dans le control Hidden seront conséquent. Si tel est le cas je pense que l'utilisation du Hidden control n'est pas intéressant.
    Il faut se mettre aussi a la place des utilisateurs. L'action que tu leurs propose est une action répétitive (ils peuvent faire drag and drop plusieurs fois). Gérer ça avec PostBack me parait légèrement en dessous du besoin. Même si tu as un serveur rapide, mais avec une connection lente de cote client alors la car l'utilisateur va être
    Je répète encore, ma réponse se base sur le faite que l'action que tu propose a l'user est répétitive.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Par défaut
    Pour ma par j'ai déja fait ce genre de chose (enfin des truc similaire avec un planning en drag n drop) et j'ai utilisé l'ajax.....

  4. #4
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    En fait, il s'agit d'une liste d'utilisateur ordonnée ou je veux pouvoir deplacer les noms par drag and drop.

    Pour le reste du projet, j'ai utilisé les composants classiques ASP (gridview, combo, button, ...) donc qui fonctionnent sur postback donc je pense rester sur le meme systeme.

    Quand à ajax, j'imagine que tu parles d'un updatepanel. Si c'est le cas, ca aboutit aussi à un postback donc le gain n'est pas enorme.

    Mais sur le principe, je trouve le mecanisme de postback assez etonnant. Revenir à chaque fois au serveur meme pour des operations pas tres compliquées ca me semble pas tres optimal... Pourtant, je n'ai trouvé aucun exemple de composant qui utilise un champ hidden (ou une autre methode) qui permet de faire des traitements par javascript, dont l'info peut etre recupérée au niveau serveur et qui survive au postback. Pour un composant de ce type, j'ai du le faire à la main (et probablement pas dans les regles de l'art puisque je ne les connais pas).

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Tu peux faire de l'ajax avec jquery:

    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
     
    <script type="text/javascript">
    function Search() {
    ToggleProgress(true);
    $("#divContent").load("SearchPage.aspx",
                                    { Keyword: $("#txtSearch").val() },
                                    function () {
                                        ToggleProgress(false);
                                    });
    }
     
    function ToggleProgress(loading) {
            if (loading) {
                $("#divContent").hide();
                $("#divLoading").show();
            }
            else {
                $("#divContent").show();
                $("#divLoading").hide();
            }
        }
    </script>
     
    <div id="">Loading, please wait...</div>
    <div id="Content">
     Mot clé : <input type="text" runat="server" id="txtSearch" />
    <img id="btnValidate" src="./images/accept.gif" title="Chercher" onclick="Search();" style="cursor: pointer" />
    </div>

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    je ne connaissais pas la fonction load. Mais si elle fait ce à quoi je m'attends (et que j'espere), ce serait parfait. Merci.
    Dans le meme esprit, j'avais testé les iframes mais c'est plutot pas terrible. Je comprends pourquoi elles etaient plutot deconseillées de ce que j'ai vu sur les forums.

    Cela dit, ca ne change rien au fait qu'il va y avoir du postback. Personne ne connait un tuto sur un composant (quel qu'il soit) qui ait un comportement en javascript qui survive à un postback (par exemple une liste ou on peut changer les elements de place ou n'importe quoi) ?

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Le composant ReorderList de l'AjaxControlToolkit semble tout indiqué pour faire ce que tu expliques.
    Sinon, regardes du côté de cet article, toujours à base d'AjaxControlToolkit.

  8. #8
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Oui, le reorderlist a l'air pas mal, merci.

    Sinon, pour repondre à ma question de base, j'ai regardé comment etait fait le treeview de base ASP et effectivement, il utilise des controles input cachés pour sauver son etat. C'est donc comme ca que je vais faire.

    Merci à tous

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

Discussions similaires

  1. Faire un postback en javascript
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/05/2009, 21h03
  2. [Custom control] - Javascript et postback ?
    Par Pongten dans le forum ASP.NET
    Réponses: 20
    Dernier message: 07/08/2007, 18h07
  3. déclencher un postback asynchrone en javascript
    Par cyberchand dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/08/2007, 11h29
  4. Annuler un PostBack en JavaScript
    Par gmanouvrier dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/07/2007, 11h40
  5. Réponses: 14
    Dernier message: 27/07/2006, 14h40

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