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
ページが初めて読み込まれる時刻を設定する場合は、IsPostBackプロパティを使用して、ページが初めて読み込まれるか、ページがポストバックされるかを判断します。
if (!Page.IsPostBack)
{
cld_birth.SelectedDate = new DateTime(2003, 1, 1);
}
コントロールで定義する必要があります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);
}
@ 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);
}
}