我试图在 ASP.NET 上为 Calendar 对象设置一个新日期,但没有任何改变。这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
}
}
我试图在 ASP.NET 上为 Calendar 对象设置一个新日期,但没有任何改变。这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
}
}
尝试设置VisibleDate
:
if (Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
cld_birth.VisibleDate = new DateTime(2003, 1, 1);
}
如果日期包含非午夜时间,则会出现另一个问题,即所选日期未突出显示(即 SelectedDayStyle 被忽略)。你会期望第一个选项没问题。不,不幸的是
Dim oDt As New Date()
oDt = Now
Dim oDtYesterday As New Date
oDtYesterday = DateAdd(DateInterval.Day, -1, oDt)
'oDtYesterday is all fine, but does not highlight
'calDateFrom.SelectedDate = oDtYesterday
Dim sDateYesterday As String
sDateYesterday = Format(oDtYesterday, "dd MMM yyyy")
Dim oDtY As New Date
oDtY = CDate(sDateYesterday & " 12:00:00 AM")
calDateFrom.SelectedDate = oDtY
calDateFrom.VisibleDate = calDateFrom.SelectedDate
您必须SelectedDayStyle
在您的控件中定义。
<asp:Calendar ID="cld_birth" runat="server">
<SelectedDayStyle Font-Size="X-Large" />
</asp:Calendar>
并使用:
if (!Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
}
如果要设置第一次加载页面的时间,则使用IsPostBack 属性来确定是第一次加载页面还是回发页面。
if (!Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
}
按照@Martin-Brennan 的建议做,但代码可能需要放在 Page_PreRender 事件处理程序中。
protected void Page_PreRender(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
cld_birth.VisibleDate = new DateTime(2003, 1, 1);
}
}