3

ASP.NETでCalendarオブジェクトの新しい日付を設定しようとしていますが、何も変更されていません。これが私のコードです:

protected void Page_Load(object sender, EventArgs e)
{

    if (Page.IsPostBack)
    {
        cld_birth.SelectedDate = new DateTime(2003, 1, 1);
    }
}
4

5 に答える 5

9

VisibleDate同様に設定してみてください:

if (Page.IsPostBack)
{
    cld_birth.SelectedDate = new DateTime(2003, 1, 1);
    cld_birth.VisibleDate = new DateTime(2003, 1, 1);
}
于 2012-09-20T06:40:57.560 に答える
3

日付に深夜以外の時刻が含まれている場合、選択した日付が強調表示されない(つまり、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
于 2013-07-29T09:40:48.030 に答える
1

ページが初めて読み込まれる時刻を設定する場合は、IsPostBackプロパティを使用して、ページが初めて読み込まれるか、ページがポストバックされるかを判断します。

if (!Page.IsPostBack)
    {
        cld_birth.SelectedDate = new DateTime(2003, 1, 1);
    }
于 2012-09-20T06:36:50.680 に答える
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);
}
于 2012-09-20T06:41:40.263 に答える
0

@ 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);
    }
  }
于 2013-10-01T04:01:03.347 に答える