关于时间控件的一个判断问题
DatePicker.ascx
前台
<asp:TextBox runat="server" ID="txtDateTime" />
<asp:ImageButton runat="Server" ID="btnCalendar" ImageUrl="~/images/Calendar_scheduleHS.png" AlternateText="" />
<br />
<ajaxToolkit:CalendarExtender runat="server" ID="ajaxCalendar" TargetControlID="txtDateTime" PopupButtonID="btnCalendar" />
后台
public DateTime? SelectedDate
{
get
{
DateTime inputDate;
if (!DateTime.TryParse(txtDateTime.Text, out inputDate))
{
return null;
}
return inputDate;
}
set
{
ajaxCalendar.SelectedDate = value;
}
}
界面引用了2次这个控件:开始时间 与结束时间
DateTime? startDate = ctrlStartDatePicker.SelectedDate;
DateTime? endDate = ctrlEndDatePicker.SelectedDate;
当我在text里面手动输入时间
startDate 可以取到值
endDate一直为null
调试发现endDate的时候 txt值能取到,就是转型失败 直接return null,
如果我直接改成
if(txtDateTime.Text!=null)
{
return Convert.ToDateTime(txtDateTime.Text);
}
就报错 日历 System.Globalization.GregorianCalendar 中不支持该字符串所表示的 DateTime。
请问下 该如何改
------解决方案--------------------
24:00 这个转时间肯定会出错的
手动输入的话,应该先用js检测一下输入的时间是否合法,不合法的话要提示让他重新输入