Выберите текущую дату по умолчанию в разделе ASP.Net Управление календарем

StackOverflow https://stackoverflow.com/questions/86408

  •  01-07-2019
  •  | 
  •  

Вопрос

Допустим, у меня есть страница aspx с этим элементом управления календарем:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="" ></asp:Calendar>

Есть ли что-нибудь, что я могу ввести для selectedDate, чтобы заставить его использовать текущую дату по умолчанию, без необходимости использования кода?

Это было полезно?

Решение

Если вы уже выполняете привязку к данным:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="<%# DateTime.Today %>" />

Сделаю это.Для этого требуется, чтобы где-то вы выполняли страницу.Вызов DataBind() (или вызов databind родительского элемента управления).Если вы этого не делаете и вам абсолютно не нужна какая-либо привязка к коду на странице, то вам придется создать usercontrol, который содержит элемент управления календарем и устанавливает его selecteddate .

Другие советы

Дата-время.Сейчас не сработает, используйте Дата-время.Сегодня вместо этого.

Я пытался сделать так, чтобы календарь выбирал дату по умолчанию и выделял ее для пользователя.Тем не менее, я попытался использовать все вышеперечисленные параметры, но мне удалось установить только выбранную дату в календаре.

protected void Page_Load(object sender, EventArgs e)
    Calendar1.SelectedDate = DateTime.Today;
}

предыдущий код НЕ выделял выделение, хотя он установил selectedDate равным today .

Однако для выбора и выделения следующего кода все будет работать правильно.

protected void Page_Load(object sender, EventArgs e)
{
    DateTime today = DateTime.Today;
    Calendar1.TodaysDate = today;
    Calendar1.SelectedDate = Calendar1.TodaysDate;
}

проверьте эту ссылку: http://msdn.microsoft.com/en-us/library/8k0f6h1h (v=VS.85).aspx

Есть два способа сделать это.

Поздняя привязка

<asp:Calendar ID="planning" runat="server" SelectedDate="<%# DateTime.Now %>"></asp:Calendar>

Способ создания кода (решение для загрузки страницы)

protected void Page_Load(object sender, EventArgs e)
{
    BindCalendar();
}

private void BindCalendar()
{
    planning.SelectedDate = DateTime.Today;
}

Тем не менее, я настоятельно рекомендую сделать это с помощью BindMyStuff.Единую точку входа проще отлаживать.Но поскольку вы, кажется, знаете свою игру, у вас все готово.

Я пробовал выше с приведенным выше кодом, но не работает, вот решение для установки текущей даты, выбранной в asp.net управление календарем

dtpStartDate.SelectedDate = Convert.ToDateTime(DateTime.Now.Date);
dtpStartDate.VisibleDate = Convert.ToDateTime(DateTime.Now.ToString());

У меня тоже была такая же проблема в VWD 2010, и, по случайности, у меня было два элемента управления.Один из них был доступен в исходном коде, а другой был недоступен.Я думал, что причиной проблемы был порядок операторов в элементах управления.Я поставил "runat" перед "selectedDate", и это, казалось, все исправило.Когда я поставил "runat" после "selectedDate", это все еще работало!К сожалению, сейчас я не знаю, почему это не сработало, и у меня нет оригинала, который не сработал.

Теперь все это работает:-

<asp:Calendar ID="calDateFrom" SelectedDate="08/02/2011" SelectionMode="Day" runat="server"></asp:Calendar>
<asp:Calendar runat="server" SelectionMode="Day" SelectedDate="08/15/2011 12:00:00 AM" ID="Calendar1" VisibleDate="08/03/2011 12:00:00 AM"></asp:Calendar>
<asp:Calendar SelectionMode="Day" SelectedDate="08/31/2011 12:00:00 AM" runat="server" ID="calDateTo"></asp:Calendar>

На самом деле, я не могу получить выбранную дату в aspx.Вот способ установить выбранную дату в кодах:

protected void Page_Load(object sender, EventArgs e)
{
   if (!Page.IsPostBack)
   {
      DateTime dt = DateTime.Now.AddDays(-1);
      Calendar1.VisibleDate = dt;
      Calendar1.SelectedDate = dt;
      Calendar1.TodaysDate = dt;
      ...
    }
 }

В приведенном выше примере мне нужно установить выбранную по умолчанию дату на вчерашний день.Ключевым моментом является установка TodayDate.В противном случае выбранная календарная дата всегда будет сегодняшней.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top