web-dev-qa-db-fra.com

Comment configurer la culture invariante dans la mondialisation ASP.NET?

J'ai besoin de fixer CurrentCulture comme culture invariante dans une application ASP.NET. Comment puis-je faire ceci?

<configuration>
   <system.web>
      <globalization culture="???" />
   ...
25
Mike Chaliy

Selon la documentation de la classe CultureInfo , une chaîne vide spécifie InvariantCulture.

Modifier (testé sur .NET 3.5 sp1)
Par défaut, Culture et UICulture sont définis sur "" dans le web.config. Je suppose que .Net fait juste sa propre chose et les définit sur "en-US" au moment de l'exécution, même si la documentation dit que "en" est la culture invariante, pas "en-US".

La directive @Page pourrait vous interférer. Si vous avez utilisé l'outil "Générer des ressources locales" du concepteur de page, il ajoute automatiquement culture = "auto" uiculture = "auto" à votre directive de page , qui remplace le web.config. Si vous les supprimez et que quelqu'un utilise cet outil plus tard, whammo, ils reviennent, définis sur auto, bugant votre application. Si vous essayez de les définir sur "", vous obtenez une erreur.

Essayez de définir à la fois la directive web.config et la page et espérez le meilleur?

culture="en-US" uiCulture="en"
26
Greg

Ajoutez les éléments suivants à votre fichier web.config:

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

ou vous pouvez ajouter cette déclaration sur la page:

<%@ Page uiCulture="en-US" culture="en-US" %>

J'espère que cela t'aides.

36
Shravan