デザインでは、2つのテキストボックス、2つの画像ボタン、および両方の画像ボタンのクリックイベント用の1つのカレンダーがあります。ページの読み込みでは、両方のテキストボックスに今日の日付が表示されます。Page_loadは次のようになります。
txtfrdate.Text = Convert.ToDateTime(Today()).ToString("dd/MM/yyyy")
txttodate.Text = Convert.ToDateTime(Today()).ToString("dd/MM/yyyy")
今私はtxttodateの値だけを変更しています(todateはfrom dateより大きい)そしてクリックボタンメッセージは「FromDateはtodateより大きいはずです」と表示するはずです私はimagebutton1と2クリックイベントを次のように書きました
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
Calendar1.Visible = True
Calendar1.SelectedDates.Clear()
Session("click") = 1
End Sub
Protected Sub ImageButton2_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton2.Click
Calendar1.Visible = True
Calendar1.SelectedDates.Clear()
Session("click") = 2
End Sub
とカレンダーselectionchangedイベントで
Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged
Select Case (Session("click"))
Case 1 : txtfrdate.Text = Convert.ToDateTime(Calendar1.SelectedDate.ToShortDateString).ToString("dd/MM/yyyy")
Session("fd") = Calendar1.SelectedDate
Case 2 : txttodate.Text = Convert.ToDateTime(Calendar1.SelectedDate.ToShortDateString).ToString("dd/MM/yyyy")
Session("td") = Calendar1.SelectedDate
End Select
Calendar1.Visible = False
Label4.Visible = False
End Sub
次のように表示クリックボタンをクリックした後、日付を確認しています
If txtfrdate.Text = "" Then
Label4.Visible = True
Label4.Text = "Select From Date"
ElseIf txttodate.Text = "" Then
Label4.Visible = True
Label4.Text = "Select To Date"
ElseIf txtfrdate.Text > txttodate.Text Then
Label4.Visible = True
Label4.Text = "From Date Must be Smaller than To Date"
実際、私の問題は、txttodateのみを変更し、todateがfrom dateよりも大きいのに、Fromdateがtodateよりも大きいはずであるというメッセージが表示されている場合です。
From Date: 31/08/2012 - i am not changing current date during page load
To Date: 29/09/2012 - changing by selecting the calendar message is showing
開始日は終了日よりも小さくする必要があります
よろしくお願いします