【问题标题】:Calendar Control: Have todays date selected on page load日历控件:在页面加载时选择今天的日期
【发布时间】:2024-01-16 10:06:01
【问题描述】:

我在 asp .net 网络表单上有一个日历控件。在 Pag_Load 事件中我有

this.CalendarReportDay.SelectedDate = DateTime.Now;

设置日历的选定日期,但今天的日期未在日历上突出显示。

有人知道如何选择今天的日期吗?

【问题讨论】:

  • 只是一个平底船,但你的日历上有 SelectedDayStyle 吗?

标签: asp.net webforms calendar


【解决方案1】:

SelectedDate 将设置日历的日期,但这并不意味着它会突出显示它。

一个问题是DateTime.Now 包含时间,而日历只需要日期即可按预期工作,因此您可以改用DateTime.Today,例如

myCalendar.SelectedDate = DateTime.Today

要显示日期(即让日历显示显示所选日期所需的正确月份和年份),请使用VisibleDate,例如

myCalendar.VisibleDate = dateToUse;

更多详情,请看:

http://www.devtoolshed.com/content/how-highlight-day-aspnet-calendar-control-selecteddate-property

【讨论】:

  • 请注意,如上所示,它是 DateTime.Today,而不是 DateTime.Now。否则不会选择日期。
【解决方案2】:

你必须设置

this.CalendarReportDay.SelectedDate = DateTime.Now.Date;

最后的 Date 属性很重要,否则 DateTime.Now 的时间分量会阻止选择。然后它得到应用的SelectedDayStyle,f.e.

<asp:Calendar ID="CalendarReportDay" runat="server">
   <SelectedDayStyle Font-Size="X-Large" />
</asp:Calendar>

【讨论】: