2017-09-01 8 views
0

J'ai une page de formulaire Web et je souhaite définir la langue à partir du code à l'aide des fichiers de ressources et du contrôle d'étiquette Meta in. Le paramètre vient d'ailleurs.Pour ne pas lier automatiquement la culture du navigateur

<asp:Label ID="lblTitle" runat="server" Text="" meta:resourcekey="lblTitle"></asp:Label> 

Cependant, de cette façon (méta), il lira la langue préférée du navigateur et définira le culturel automatiquement. Par exemple, si la langue réservée de broswer est en-AU, alors elle commencera à lire les informations de mon fichier de recours xxxx.aspx.en-AU.resx. Je ne veux pas de cette façon que je veux tout contrôler manuellement. Je dois gérer explicitement cela à partir du code derrière. Puis-je désactiver cette liaison automatique à partir du navigateur Web?

Répondre

2

Dans web.config, vous pouvez forcer une culture spécifique pour votre application. Pour en-US, vous pouvez l'utiliser.

Web.config

<system.web> 
    <globalization culture="en" uiCulture="en-US"/> 
    ... 
    </system.web> 

Dans votre code-behind, vous pouvez remplacer à volonté en utilisant:

var lang = "en-AU"; 
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang); 
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);