1

我正在使用带有文本框的 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 was not Recognized as a valid DateTime
有什么方法可以使这些日期不可点击,以便用户无法使用 startDate 和 Enddate 属性或通过其他方式从它们中进行选择,我也尝试了这些,但我再次收到不支持这些的错误。任何帮助将不胜感激。

4

1 回答 1

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]));
于 2013-08-10T04:05:28.610 回答