Я использую плагин dateQicker jQuery в приложении интранет .NET ASP MVC3. У пользователя, использующего приложение, есть офисы в разных странах и разных регионах. Вот почему я хотел интегрировать Thread.CurrentThread.CurrentCulture.DateTimeFormat с плагином jQuery datepicker . Моим первым решением было создать вспомогательный метод расширения:
public static string jQueryDatePickerFormat(this HtmlHelper helper)
{
return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
}
и установите параметр dateFormat в JavaScript следующим образом:
$("#StartDate").datepicker({ dateFormat: '@Html.jQueryDatePickerFormat()' });
Вскоре после того, как я понял, что опция datepicker dateFormat поддерживает форматы, реализация которых отличается от формата в .NET.
Например: Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern для pl-PL возвращает гггг-мм-дд (дата будет форматироваться как 2010-01-01), тогда как тот же формат в datePicker будет форматировать ту же дату, что и 20102010 января 01 . Я быстро адаптировал свой вспомогательный метод и применил быстрое исправление Заменить ("гггг", "гг"). Заменить ("ММ", "мм") :
public static string jQueryDatePickerFormat(this HtmlHelper helper)
{
return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.Replace("yyyy", "yy").Replace("MM", "mm");
}
Я работаю, но жду момента, когда возникнут другие проблемы. Есть ли какой-нибудь простой способ реализовать настройки языка .NET в плагине jQuery datePicker?
Спасибо, Pawel