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# asp 2.0] postback ? eviter un A/R serveur ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut [C# asp 2.0] postback ? eviter un A/R serveur ?
    Bonjour, je suis assez débutant dans l'architecture web.

    J'essaye de creer un generateur de requete SQL en dynamique.
    Pour cela j'ai sur ma page plusieurs Textbox qui sont mappé sur des champs d'une table.
    Quand je passe en Mode Generation de requete, tous les textbox que je renseigne seront dans ma clause where

    j'ai un bouton qui m'appelle une fonction d'une dll qui scan tous les textboxs que je passe en paramétre et me construit mon ordre select.

    ma question est :
    Est il possible de faire cela sans faire un aller retour serveur ?
    je ne comprends pas bien la portée ? ou plutot ou se trouve ma dll ?
    sur le serveur ? sur le client ?
    sachant que je dois appeler cette generation de requete uniquement par ma dll

    comment faire sans aller retour serveur ?
    il y a bien ajax(je me suis docummenté un peu) mais peut on appelé une dll ?

    Merci de vos aides,

    win32 et web c'est vraiment pas la meme chose

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    la bdd est sur le serveur,
    la dll sur le serveur.

    Tout ce que recoit le client c'est (x)html, java/vb/script, css, flash ou autre truc "executable" coté client.

    Quand on click sur le bouton, un post s'effectue, le serveur recup ttes les données des control, execute ta requete sur la bdd et rerempli le formulaire.

    Impossible de faire autrement.

    AJAX effectue un aller retour serveur : mais il est "invisible" : on ne recharge qu'une partie de la page via javascript.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut
    Ok merci de ta réponse .
    Ca confirme un peu ce que je pensais.

    Pour ma part, sur chaque touche du clavier sur un de mes textbox je dois appelé cette methode de ma DLL en questions.
    A mon avis, trop d'A/R serveur.

    Quelqu'un aurait il une idée afin de rendre cela plus "propre" ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Elle est censé faire quoi la méthode?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut
    Citation Envoyé par Chubyone
    Elle est censé faire quoi la méthode?
    tout mes texbox sont lié a un champ d'une table

    lorsque j'entre TOTO dans ma texbox lié au champ Nom

    ma méthode me construit une chaine SQL du style

    SELECT A,B,C,... FROM MATABLE WHERE NOM = 'TOTO';

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Et bien si tu remplis une/toute tes textbox, lors du post via un bouton, il récupérera les données et les traitera, puis remplira la page que le navigateur raffraichira.

    Tu dois sélectionner quelque chose dans une table sur ton serveur, il faut donc impérativement le requeter pour qu'il exécute la requete

  7. #7
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Alors tu as deux choix si tu veux eviter ces aller retour :

    1) Faire l'équivalent de ce que ta dll fait en javascript coté client. Tu code une fonction qui sera a appellé sur chaque touche enfoncé dans tes textbox et tu stock dans un champ caché ta requete sql
    Cette derniere sera envoyée lors du clic sur un bouton ok.

    2) Ne pas faire d'aller retour serveur et simplement envoyé le contenu de tes champs une fois que ceux ci ont fini d'être complété apres validation d'un bouton ok qui soumet ta page.
    Sur le serveur tu recuperes tes champs et tu lances ton traitement.

    A mon avis la deuxieme est de loin la meilleure. Calculer sa requete sql coté client, c'est pas bon.. mais c'est une solution
    A+ et bon code

Discussions similaires

  1. asp.net HidenField postback
    Par windows2056 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/10/2011, 05h11
  2. [AJAX] ASP.NET SImulation Postback
    Par bribus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/07/2007, 11h08
  3. ASP.NET Simulation PostBack
    Par bribus dans le forum ASP.NET
    Réponses: 1
    Dernier message: 18/07/2007, 10h50
  4. [C# asp 2.0] postback ? eviter un A/R serveur ?
    Par chnew dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/05/2007, 09h52
  5. Réponses: 1
    Dernier message: 21/03/2007, 20h44

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