begin process at 2010 02 10 11:08:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Culture & UICulture avec MasterPage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Culture & UICulture avec MasterPage

mardi 18 novembre 2008 à 17:43:05 | Culture & UICulture avec MasterPage

fabienfs

Membre Club Administrateur CodeS-SourceS

Bonsoir,

Je tente de traduire mon site en plusieurs langues grâce au système de Culture et UICulture avec des LocalResource et GlobalResource (fichier .resx), jusque la tout fonctionne à merveille.

J'ai cependant ajouté dans mon menu deux LinkButton "français" et "anglais", pour changer de culture quand l'utilisateur clique sur ceux-ci qui se trouvent dans ma MasterPage.

Quand on clique sur un des deux LinkButton pour changer de langue, j'excécute ce code-ci :

Protected Sub lnkFr_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkFr.Click
        Session("user-language") = "fr-BE"
        Response.Redirect("~/Default.aspx?Redir=" & Request.ServerVariables("URL"))
End Sub

Et dans ma page d'accueil j'ai ceci :

    Protected Overrides Sub InitializeCulture()
        If Session("user-language") IsNot Nothing Then
            Dim lang As String = Session("user-language").ToString()

            Dim selectedLanguage As String = lang
            UICulture = lang
            Culture = lang
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
            Thread.CurrentThread.CurrentUICulture = New CultureInfo(lang)
        End If
        MyBase.InitializeCulture()
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Redirection vers la page en cours de naviguation après changement de la culture
        If Not Request.QueryString("Redir") Is Nothing Then
            InitializeCulture()
            Response.Redirect(Request.QueryString("Redir"))
        End If
    End Sub

Quand je suis sur ma page Default.aspx, tout fonctionne parfaitement, il change bien la Culture de ma page.
Seulement, quand je suis sur une autre page, autre que Default.aspx, que je clique sur mes LinkButton pour changer de langue, il exécute bien mon code qui se trouve sur ma page Default.aspx, puis il me redirige bien sur ma page sur laquelle j'ai cliquer sur le LinkButton de ma langue. Seul problème est qu'il ne prend pas en compe ma nouvelle Culture définie via ma page Default.aspx... Par contre si après je retourne sur ma page Default.aspx, il est bien dans la Culture que j'avais choisie.. En gros il ne perd pas ma culture, c'est juste qu'il ne l'applique pas sur mes autres pages.

Pourquoi n'ais-je pas mis le code de changement de Culture dans ma MasterPage ? Tout simplement car je n'y suis pas parevenu. Il ne voulais pas de mon Protected Overrides Sub InitializeCulture()...

Comment faire pour contourner ce problème plus facilement ? Comment changer ma Culure depuis ma MasterPage ? Ce serait nettement moin bricolage...

Vos propositions sont les bienvenues :-)

Merci à vous.

A++


Fabien Schenkels (alias fabienfs)


Cette discussion est classée dans : page, aspx, lang, default, culture


Répondre à ce message

Sujets en rapport avec ce message

Récupérer le nom de la page en cours ? [ par billou_13 ] Voila une petite question toute bête.J'ai quelques idées sur le sujet mais je sais pas si ce sont les meilleures.En fait, je vourdrais juste récupérer Accés aux données [ par maken ] Bonjour, à tous et Merci de votre aide!! car je galére en ce moment. Voivi ma question:J'ai mis en  place un site avec une authentification par formul probleme avec loginstatut [ par angel7891 ] salut, je travaille avec asp2.0 et jai un probleme de deconnexion,j'utilise un controle login statut et je met dans la propriété "LogOutUrl" la page d [ASP .NET2] Culture et MasterPage [ par prezz ] Bonjour a tous je possede un site web qui contient une master page gerant le bilinguisme. Dans cette master page j'ai donc une combobox qui me permet comment trouver la page qui vient d'appeler celle-ci?? [ par 76julien ] Bonjour à tous, ma question est la suivante :il y a t il une propriété qui permet de savoir quelle est la page qui appelle le chargement de celle-ci ? Impossible de charger le type '_Default' [ par erazion ] Bonjour, j'ai un soucis en prog VB. En effet, lorsque je veux charger ma page "Default.aspx", un message d'erreur "Impossible de charger le type '_Def Problème de WebUserControl Dynamique [ par skyaero ] Bonjour,Dans ma page Default.aspx, j'ajoute dynamiquement un WebUserControl par le code suivant situé dans le Page_Init de ma page Default.aspx :ontro plusieurs updatePanels dans la meme page ? [ par foufoulol ] Bonjour, dans ma page default.aspx j'ai un updatepanel qui contient un menu contenant plusieurs boutons. Je veux que chaque bouton m'ouvre une gridvie Response.Redirect et Ancrage [ par billou_13 ] Bonjour,Alors voila, je vous expose mon problème. Mon site asp.net est "AJAXisé" (permettez moi l'expression).Afin de conserver une URL dynamique lors 1 seule page pour tout un site ( url.com/mapage.aspx?contenu=accueil ) [ par talavera ] Bonjour tout le monde, dites moi, est-ce que vous pourriez m'aider ? Parce que en faite, je me suis mis au developpement .net depuis pas longtemps, e


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales