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 :

Rechargement d'une page via Response.redirect


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut Rechargement d'une page via Response.redirect
    Bonjour,

    j'ai ajouté à un site la gestion de la globalisation (choix de la langue d'affichage).
    Lors du click sur un lien cette méthode s'exécute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (Session["User-Language"] == null)
    {
         Session["User-Language"] = "fr-FR";
    }
    string ses = Session["User-Language"].ToString();
    CultureInfo lng = new CultureInfo(ses);
    Thread.CurrentThread.CurrentCulture = lng;
    Thread.CurrentThread.CurrentUICulture = lng;
    base.InitializeCulture();
    Response.Redirect(Request.Path);
    Ceci fonctionne très bien pour ce qui est du choix de la langue, cependant, l'appel à Response.Redirect effectue une réelle redirection (normal) du coup, je perds l'état de ma page (saisie dans les champs, choix de l'onglet ...)

    Je voulais savoir s'il n'existait pas un autre moyen d'effectuer un rechargement de la page sans response.redirect

    Merci

    Shiv@

  2. #2
    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
    Par défaut
    Le simple PostBack ne suffit pas ?

  3. #3
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Non cela ne suffit pas car la méthode qui initialise la culture d'une page est exécutée avant le page_load, ce qui fait que les éléments sont déjà créés. Il faut deux postback pour changer la langue d'où le reponse.redirect

  4. #4
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Par défaut
    Salut,

    Et si tu passais ces paramètres dans ton adresse?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("tapage.aspx?User-Language=fr-FR");

  5. #5
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Je ne vois pas en quoi ça m'aiderai, le changement de langue est bien exécuté, c'est juste qu'à cause du response.redirect, l'état de ma page n'est pas conservé (cases cochées, liste triée, champs saisis ...)

    je voulais donc savoir si en code behind il était possible de lancer un rechargement de la page (en gros déclencher un postback du serveur)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut
    de mémoire il te faut surcharger la méthode InitializeCulture de ta page

    Ah j'ai retrouvé la doc http://msdn.microsoft.com/en-us/libr...zeculture.aspx

    Regarde c'est très simple. J'ai du code qui fait ça quelque part. Si je remet la main dessus je te le mettrai ici

  7. #7
    Membre chevronné Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Par défaut
    Est-ce que quelqu'un pourrait lire mon problème avant de répondre ?

    Le changement de langue ne pose pas problème, la méthode initializeculture est bien surchargée le seul problème est que cela me recharge la page sans tenir compte de ce qui a été fait avant du coup elle est bien dans la bonne langue mais réinitialisée.

    Alors que si je ne mets pas le Response.Redirect, il faudra attendre le prochain postback pour que le texte soit dans la langue choisie

  8. #8
    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
    Par défaut
    A moins que de conserver toutes les valeurs de tes champs en session ou de les passer dans le querystring de ton redirect, je ne pense pas que ce soit faisable...

    Une autre "astuce" est de provoquer un "double appel" client... mais c'est vraiment pas top... Lors de la demande de changement de langue, tu injecte un javascript qui provoque un postback dès le chargement de la page et comme ça, ça devrait faire ce que tu souhaites !

  9. #9
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Par défaut
    Citation Envoyé par Shiva Skunk Voir le message
    Est-ce que quelqu'un pourrait lire mon problème avant de répondre ?
    Les gens essayent de t'aider, ne t'énerve pas.

    Citation Envoyé par Shiva Skunk Voir le message
    Le changement de langue ne pose pas problème, la méthode initializeculture est bien surchargée le seul problème est que cela me recharge la page sans tenir compte de ce qui a été fait avant du coup elle est bien dans la bonne langue mais réinitialisée.
    As-tu pensé à PreRender, PreInit ou PreLoad??

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

Discussions similaires

  1. [OpenTBS] Système de template - Rechargement d'une page
    Par fadeninev dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/06/2006, 14h29
  2. Réponses: 3
    Dernier message: 15/06/2006, 11h48
  3. firefox : rechargement d'une page
    Par menuge dans le forum Firefox
    Réponses: 4
    Dernier message: 16/05/2006, 16h49
  4. comment éviter le rechargement d'une page?
    Par srikta dans le forum ASP
    Réponses: 2
    Dernier message: 13/04/2006, 10h54
  5. Rechargement d'une page après ouverture de deux popups
    Par petitmoosse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 16h39

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