я использую элемент управления ASP.NET AJAX на моем сайте и включили следующие параметры на ScriptManager:ASP.NET AJAX не делает объект __cultureInfo JS для EN-US локалей
scriptManager.EnableScriptGlobalization = true;
scriptManager.EnableScriptLocalization = true;
Когда я переключаю язык браузера, скажем, на французский, я получаю богатый объект JavaScript, который отображается на странице с именем __cultureInfo, который содержит все полезные вещи, которые мне нужны, чтобы инициализировать сборщики дат и правильно форматировать строки даты.
Однако, если локаль является английским, то объект __cultureInfo не отображается.
Есть ли способ заставить ASP.NET AJAX визуализировать эту переменную/объект JavaScript для всех локалей? Я хочу инициализировать все элементы управления, поддерживающие язык, без специального английского английского языка.
Ну, а я жду окончательного ответ, я пошел вперед и сделал обертку для членов, которых не хватает в «en-US»: locale.getFirstDayOfWeek(), locale.getName() и locale.getLongDatePattern(). Я проверяю, есть ли "typeof (__ cultureInfo) === 'undefined'". Если это так, я возвращаю жестко заданные значения для английского языка. Это работает, но на самом деле klunky. –
я встречаю этот вопрос сегодня также, и стоило мне несколько часов: "ClientCultureInfo.GetClientCultureScriptBlock (CultureInfo CultureInfo)" имеют следующий код надрез: 'Тип Тип = (cultureInfo.DateTimeFormat == NULL)? null: cultureInfo.DateTimeFormat.Calendar.GetType(); if (cultureInfo.Equals (enUS) && (type == typeof (GregorianCalendar))) { return null; } '}' Если культура текущего потока является «en-US», кажется, что «var __cultureInfo =» не будет отображаться ScriptManager, я не уверен, почему MS делает это так. –