我正在使用带有文本框的AJAX日历扩展器,并且我想禁用过去的日期,因此用户无法选择那些小于今天日期的日期。我的代码如下
在.aspx页面
<asp:TextBox ID="txtFromDate" runat="server" ontextchanged="txtFromDate_TextChanged" AutoPostBack="true"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtFromDate">
</asp:CalendarExtender>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
和.cs页面
protected void txtFromDate_TextChanged(object sender, EventArgs e)
{
DateTime dt1 = DateTime.Parse(txtFromDate.Text);
if (dt1 < DateTime.Now)
{
//Response.Write("you can not choose date earlier than today's date");
txtFromDate.Text = null;
}
}
但我收到以下错误:
System.FormatException:String未被识别为有效的DateTime 。
有没有什么方法可以让那些日期不可点击,以便用户无法使用startDate和Enddate属性选择,或者通过其他方式,我也尝试了那些但我又得到了错误,这些不受支持。任何帮助将不胜感激。
答案 0 :(得分:1)
如果Date
的格式为“yyyy / MM / dd”,请尝试此操作:
String[] date = typedDate.Text.Split(new char[] { '/' });
Datetime dy = new DateTime(int.Parse(date[0]), int.Parse(date[1]), int.Parse(date[2]));