Практическое руководство. Программное определение текущей даты в серверном веб-элементе управления Calendar

Visual Studio 2010

Обновлен: Ноябрь 2007

По умолчанию значение «текущая дата» в элементе управления Calendar соответствует дате сервера, на котором выполняется страница Web Forms. Однако может возникнуть необходимость в настройке даты, чтобы обеспечить удобство пользователям, находящимся в различных часовых поясах.

Программное задание текущей даты

  • Присвойте свойству TodaysDate элемента управления Calendar значение DateTime.

    В следующем примере свойству присваивается TodaysDate дата следующего дня, а затем SelectedDate присваивается значение TodaysDate. Дата следующего дня будет выделена в обозревателе.

    Dim tomorrow As Date = Date.Today.AddDays(1)
    Calendar1.TodaysDate = tomorrow
    Calendar1.SelectedDate = Calendar1.TodaysDate
    

    DateTime tomorrow = DateTime.Today.AddDays(1);
    Calendar1.TodaysDate = tomorrow;
    Calendar1.SelectedDate = Calendar1.TodaysDate;
    

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

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim today As DateTime = System.DateTime.Today
            Dim yesterday As DateTime = today.AddDays(-1)
            Dim tomorrow As DateTime = today.AddDays(1)
            DropDownList1.items.Add(String.Format("{0:dd MMM yyyy}", _
               today))
            DropDownList1.items.Add(String.Format("{0:dd MMM yyyy}", _
               yesterday))
            DropDownList1.items.Add(String.Format("{0:dd MMM yyyy}", _
               tomorrow))
        End If
    End Sub
    
    Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender _
            As Object, ByVal e As System.EventArgs) _
            Handles DropDownList1.SelectedIndexChanged
        Calendar1.TodaysDate = _
            Date.Parse(DropDownList1.SelectedItem.Text)
    End Sub
    
    

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DateTime today = System.DateTime.Today;
            DateTime yesterday = today.AddDays(-1);
            DateTime tomorrow = today.AddDays(1);
            DropDownList1.Items.Add(String.Format("{0:dd MMM yyyy}",
               today));
            DropDownList1.Items.Add(String.Format("{0:dd MMM yyyy}",
               yesterday));
            DropDownList1.Items.Add(String.Format("{0:dd MMM yyyy}",
               tomorrow));
        }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, 
        EventArgs e)
    {
        Calendar1.TodaysDate = 
            DateTime.Parse(DropDownList1.SelectedItem.Text);
    }
    
Показ: