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 :

Site multilingue BDD


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut Site multilingue BDD
    Bon, je sais qu'il existe deja 24 sujets dans le forum parlant de ca, mais je les ai passé en revu et je n'ai rien trouvé qu'il puisse m'aider.

    Mon probleme est le suivant:

    Dans ma Master Page: 2 drapeaux (US et France)
    Lorsqu'on clique sur un drapeau, une culture est atribuée au champ language.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            protected void FR_Click(object sender, ImageClickEventArgs e)
            {
                _Culture = "fr-FR";
    }
    Dans ma page d'acceuil j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void Page_Load(object sender, EventArgs e)
            {
              this.Master.languageChanged += Master_LanguageClicked;
              Label1.Text = StructuralTranslationsManager.Load("000001", CultureInfo.CreateSpecificCulture(Language));
    }
    La valeur de "Language" change lorsqu'il y a eu un clique sur un des drapeaux, grace a cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void Master_LanguageClicked(object sender, EventArgs e)
            {
                Language = this.Master._Culture;
            }
    Probleme: Ca ne marche pas

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Mets des points d'arrêt dans les méthodes concernées et exécute en pas à pas, elles ne s'exécutent pas forcément dans l'ordre que tu crois...

  3. #3
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    Bien en fait, je viens de remarquer que lorsque je clique 2 fois sur le drapeau ca marche, mais la 1ere fois rien ne change.
    Code behind MasterPage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       public event EventHandler languageChanged;
            public string  _Culture;
            protected void FR_Click(object sender, ImageClickEventArgs e)
            {
                _Culture = "fr-FR";
                if (languageChanged != null)
                    languageChanged(sender, e);
            }
    Code Behind Page d’accueil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       public static string Language;
            private void Master_LanguageClicked(object sender, EventArgs e)
            {
                Language = this.Master._Culture;
            }
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Language == null)
                    Language = "fr-FR";
              this.Master.languageChanged += Master_LanguageClicked;
              Label1.Text = StructuralTranslationsManager.Load("000001", CultureInfo.CreateSpecificCulture(Language));
     
            }
    Une idée?
    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par IsraGab Voir le message
    Une idée?
    Tu as essayé de faire ce que je t'ai dit ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    Oui, j'ai fais ce que tu as dis.
    voila ce qui se passe lorsque je clique une fois sur le drapeau US:
    _ Il rentre dans le LoadPage de la page d'acceuil -> A ce moment : Language=FR
    _Ensuite il rentre dans la LoadPage de la MasterPage
    _Puis ensuite dans la Fonction US_Click(masterPage) -> Ici, la Culture s'actualise et est égale à US.
    _Il rentre maintenant dans la fonction Master_LanguageClicked -> A ce moment Language=US.
    _Il repart ensuite dans la LoadPage de la page d'acceuil (language = US).
    _Et il fini avec la LoadPage de la MasterPage.

    Voila, la 2eme fois c'est tout a fait pareil sauf que la 1ere fois qu'il entre dans la
    LoadPage de la page d'acceuil la valeur de language = US.

  6. #6
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    Pourquoi rentre t-il 2 fois dans les LoadPage?

Discussions similaires

  1. Site multilingue - méthode ?
    Par khephren dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 21/06/2016, 17h18
  2. [MySQL] Site multilingue avec BDD
    Par MrGroar dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/12/2009, 17h06
  3. Site multilingue avec BDD
    Par karngates dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/01/2009, 11h01
  4. Site multilingue : comment s'y prendre ?
    Par sg-40 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 26/04/2005, 14h40
  5. [C#] Mise en place d'un site multilingue
    Par regbegpower dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/03/2004, 19h15

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