0

错误是:

字符串未被识别为有效的日期时间。

自定义验证器的功能:

protected void chkdate1(object sender, ServerValidateEventArgs e)
{
    IFormatProvider theCultureInfo = new System.Globalization.CultureInfo("en-GB", true);
    DateTime from = DateTime.ParseExact(txt_from_date.Text, "MM/dd/yyyy HH:mm:ss", theCultureInfo);
    DateTime to = DateTime.ParseExact(txt_to_date.Text, "MM/dd/yyyy HH:mm:ss", theCultureInfo);
}

自定义验证是:

<asp:CustomValidator ID="scdt1" runat="server" OnServerValidate="chkdate1" ErrorMessage="To date not less than From date">
4

2 回答 2

0

对于DateTime.ParseExact(), 字符串表示的格式必须与指定的格式完全匹配,否则会抛出异常。为什么不能尝试用DateTime.Parse()method或DateTime.TryParseExact()method解析

于 2012-06-27T05:28:56.807 回答
0

您收到此错误的原因可能是您传递的日期不包含时间。它应该类似于以下格式:

"06/27/2012 12:00:00"

或者,如果您的 txt_from_date 不包含时间,您可以使用不同的格式。

DateTime from = DateTime.ParseExact(txt_from_date, "MM/dd/yyyy", theCultureInfo);

编辑:基于评论

DateTime from = DateTime.ParseExact(txt_from_date, "M/d/yyyy", theCultureInfo);
DateTime to = DateTime.ParseExact(txt_to_date.Text, "M/d/yyyy", theCultureInfo);

由于您提到日期格式为M/d/yyyy,因此您应该在 DateTime.ParseExact 中指定

于 2012-06-27T05:31:10.953 回答