System.FormatException:String未被识别为有效的DateTime

时间:2013-08-10 03:10:00

标签: c# javascript asp.net

我正在使用带有文本框的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属性选择,或者通过其他方式,我也尝试了那些但我又得到了错误,这些不受支持。任何帮助将不胜感激。

1 个答案:

答案 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]));