Как установить TimeZoneInfo в ASP.NET привязку данных DropDownList к часовому поясу пользователя? - PullRequest
0 голосов
/ 15 октября 2010

У меня есть веб-приложение, размещенное на GoDaddy (поэтому веб-сервер находится в Аризоне - Mountain Time).Мои пользователи в основном находятся в центральном часовом поясе, но у меня могут быть и другие часовые пояса.

У меня есть веб-страница с привязанным к базе данных dropDownList с использованием TimeZoneInfo, и я хочу установить выбранное значение этого dropDownList в любое время, в котором находится пользователь. Вот мой код:

protected void Page_Load(object sender, EventArgs e)
{
    DropDownListTimeZone.DataSource = TimeZoneInfo.GetSystemTimeZones();
    DropDownListTimeZone.DataBind();

    TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
    DropDownListTimeZone.SelectedValue = cst.DisplayName;
}

Это нормально, но я хочу, чтобы это было умнее для тех пользователей, которые не в CST.Я надеялся, что есть какой-нибудь способ получить TimeZoneInfo пользователя из чего-то вроде Page.Request. ??но я не могу понять.

Есть ли простое решение для этого?

Ответы [ 2 ]

0 голосов
/ 15 октября 2010

Я надеялся, что есть какой-то способ получить TimeZoneInfo пользователя из чего-то вроде Page.Request

Там нет. Вы можете угадать на стороне клиента, используя JavaScript - см. этот вопрос , - но это всего лишь предположение.

Нет интерфейса для получения точной информации о часовом поясе клиента из браузера. Таким образом, вы определенно захотите предоставить выбранную пользователем настройку, используя в качестве значения по умолчанию JS-догадку.

0 голосов
/ 15 октября 2010

Я думаю, что для этого потребуется немного javascript;поскольку он работает в браузере пользователя, он может выбрать любой часовой пояс, на котором настроен компьютер, и соответственно выбрать выбранный элемент в раскрывающемся списке.

http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...