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#] Javascript & Codebehind


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut [C#] Javascript & Codebehind
    Bonjour,

    Je vous explique mon problème :
    je developpe un module de commentaire en asp.net c# et j'aurais voulu qu'à la validation d'un commentaire
    -Si l'user est connecté declenchement du codebehind donc post back.
    -Sinon intervention du javascript et donc pas de postback de la page.

    Actuellement ce que j'arrive à faire c'est d'executer le javascript sur mon codebehind à défaut à l'aide du ClientScript.RegisterClientScriptBlock.
    Mais je trouve que c'est totalement contraire à l'ideologie de l'utilisation du javascript.
    C'est pourquoi je vous demande si vous avez des solutions ou des pistes ...

    Merci d'avance,

  2. #2
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Qu'entends-tu par "executer le javascript sur mon codebehind à defaut" ?

  3. #3
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    salut,

    de meme, qu'est ce que tu trouves :
    "totalement contraire à l'ideologie de l'utilisation du javascript."

    Le javascript est un langage qui s'execute coté client principalement.
    ClientScript.RegisterClientScriptBlock ne fait qu'ajouter le code javascript passé en paramètre de la fonction à la page. Cette instruction est équivalente à si tu l'écrivais dans ta page aspx/html. Elle te permet juste de générer le code javascript depuis le code behind et donc qu'il soit plus "paramétrable".

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut
    Citation Envoyé par bizet Voir le message
    ClientScript.RegisterClientScriptBlock ne fait qu'ajouter le code javascript passé en paramètre de la fonction à la page. Cette instruction est équivalente à si tu l'écrivais dans ta page aspx/html. Elle te permet juste de générer le code javascript depuis le code behind et donc qu'il soit plus "paramétrable".
    oui je sais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    string req = "<script type='text/javascript'> ";          
                           req += "$(function test() { ";
                           req += "$('#overlay').fadeIn('fast', function () { ";  
                           req += "$('#box').animate({ 'top': '160px' }, 500); ";  
                           req += "}); ";  
                           req += "$('#boxclose').click(function () { ";  
                           req += " $('#box').animate({ 'top': '-200px' }, 500, function () { ";  
                           req += "  $('#overlay').fadeOut('fast'); ";  
                           req += " }); ";  
                           req += " }); ";  
                           req += "});";
                           req += "</script>";
     
                           ClientScript.RegisterClientScriptBlock(this.GetType(), "s", req);
    Voici mon code coté C# je sais que sa ne doit pas etre comme sa normalment.

  5. #5
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Voici mon code coté C# je sais que sa ne doit pas etre comme sa normalment.
    Effectivement il est plutot conseillé d'utiliser des StringBuilder, mais à part ça je ne comprends ta problématique.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut
    Pour qu'un utilisateur puisse poster un commentaire je veux qu'il soit logué
    Si c'est le cas il peut poster son commentaire.
    Si il n'est pas logué je veux que le javascript s’exécute et de ce fait qu'il n'y ait pas rechargement de la page.

  7. #7
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Si ce que tu cherches est l'affichage d'un formulaire d'authentification si l'utilisateur n'est pas authentifié sans que la page soit rechargé, je te conseille de regarder du coté des ajaxControlToolkit et plus particulièrement du ModalPopUp.

    Ce controle permet d'afficher une popUp sans rechargement de la page.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut
    et dans le cas ou l'utilisateur sera connecté sa se passe comment ? parce que le problème est que dans un cas je veux déclencher du javascript ( coté client donc ) et dans l'autre déclenchement du code behind ( coté serveur )

  9. #9
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Ton authentification, tu es bien d'accord que tu ne peux pas la faire en javascript. C'est coté serveur que tu vas vérifier le login et mot de passe. Donc il va falloir faire des tests coté serveur

    Si ta problématique est seulement le non rafraichissement des pages, alors je te conseille de regarder du coté de l'ajax et des update panel.
    Ca permet d'executer du code coté serveur sans rafraichissement de la page.

    Personnellement je ferais tout coté behind de la manière suivante :

    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
     
     
    public void envoyerCommentaire(...)
    {
    if(authentifie)
        validerCommentaire(...)
    else
        ouvrirModalpopUpAuthent(...)
    }
     
    public void validerAuthentification(login,pswd)
    {
    if (authent(login,pswd))
    {
    authentifie=true;
    validerCommentaire(...)
    }
    else
    {
    .......
    }
    }
    Bien sur tout est traité dans le code behind mais en utilisant ajax et les update panels, il n'y a pas de rafraichissement de la page.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut
    D'accord merci. Je pense que sa répond à ma problématique. Je vais regarder de ce coté là merci !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 53
    Par défaut
    Mais simple question comment je gere l'ouverture du modalpopup dans le codebehind ?

  12. #12
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    salut.

    Dans les pages AjaxControlToolkit il n'y a pas un exemple??
    de souvenir c'est quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    modalPopUp.show();

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

Discussions similaires

  1. Interprétation d'un javascript en CodeBehind
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/03/2011, 14h51
  2. Javascript et codebehind
    Par mikro dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/08/2010, 09h45
  3. script JavaScript en codebehind du c#
    Par tina25 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 20/02/2008, 10h33
  4. [VB.NET] Javascript et codebehind
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/02/2005, 11h12

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