2 votes

ASP.NET AJAX ne rend pas d'objet JS __cultureInfo pour les paramètres régionaux en-US

Je suis en train d'utiliser le contrôle ASP.NET AJAX sur mon site et j'ai activé les paramètres suivants sur le ScriptManager :

scriptManager.EnableScriptGlobalization = true;
scriptManager.EnableScriptLocalization = true;

Quand je change la langue du navigateur, par exemple en français, un objet JavaScript riche appelé __cultureInfo est rendu sur la page et contient toutes les informations nécessaires pour initialiser les sélecteurs de date et formater correctement les chaînes de date.

Cependant, quand la langue est l'anglais américain, l'objet __cultureInfo n'est pas rendu.

Est-il possible de forcer ASP.NET AJAX à rendre cette variable / objet JavaScript pour toutes les langues ? Je veux initialiser tous mes contrôles dépendant de la langue sans avoir à spécialement traiter le cas de l'anglais américain.

0voto

paulwesterberg Points 450

Microsoft clone la culture Invariante en en-US donc même si __cultureInfo n'est pas chargé, vous devriez avoir tout ce dont vous avez besoin dans Sys.CultureInfo.CurrentCulture

switch(typeof(cultureInfo)) {
case "string":
    // ceci est vrai lorsque le serveur est en version 3.5
    cultureInfo = window.eval("(" + cultureInfo + ")");
    // autoriser la chute vers l'objet
case "object":
    this.CurrentCulture = this._parse(cultureInfo);
    delete __cultureInfo;
    break;
default:
    cultureInfo = clone(invariant);
    // corriger les différences
    cultureInfo.name = "en-US";
    cultureInfo.numberFormat.CurrencySymbol = "$";
    var dtf = cultureInfo.dateTimeFormat;
    dtf.FullDatePattern = "dddd, MMMM dd, yyyy h:mm:ss tt";
    dtf.LongDatePattern = "dddd, MMMM dd, yyyy";
    dtf.LongTimePattern = "h:mm:ss tt";
    dtf.ShortDatePattern = "M/d/yyyy";
    dtf.ShortTimePattern = "h:mm tt";
    dtf.YearMonthPattern = "MMMM, yyyy";
    this.CurrentCulture = this._parse(cultureInfo);
    break;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X