C# 比较器蒸发器工作不正常

C# 比较器蒸发器工作不正常,c#,asp.net,validation,C#,Asp.net,Validation,我更喜欢使用asp.net验证控件,因为我当前在同一视图中有其他验证控件。我需要在验证摘要中显示错误消息 我有两个文本框,我需要确保textboxA小于textboxB 我已使用CompareValidator并将属性设置为: ControlToCompare:textboxB ControlToValidate:textboxA 接线员:大于/也小于 类型:日期 问题是: 当我在textboxA中提供时间时 然后转到textboxB进行验证 将显示错误。我想如果 声明会解决这个问题,但它

我更喜欢使用asp.net验证控件,因为我当前在同一视图中有其他验证控件。我需要在验证摘要中显示错误消息

我有两个文本框,我需要确保textboxA小于textboxB

我已使用CompareValidator并将属性设置为:

  • ControlToCompare:textboxB
  • ControlToValidate:textboxA
  • 接线员:大于/也小于
  • 类型:日期
问题是:

  • 当我在textboxA中提供时间时 然后转到textboxB进行验证 将显示错误。我想如果 声明会解决这个问题,但它 没有
在“更新”按钮的点击事件中,我添加了以下代码,因为我只需要它来验证textboxA/textboxB!=空

        if(String.IsNullOrEmpty(textboxB.Text))
        {
            Debug.Write("Valid");
            timeCompareValidator.IsValid = true;    
        }
提前感谢您的帮助


克莱尔

如果我理解正确,你需要比较两个日期

:

DateTime date1=新的DateTime(2009,8,1,0,0,0);
DateTime date2=新的日期时间(2009,8,1,12,0,0);
int result=DateTime.Compare(date1,date2);
字符串关系;
如果(结果<0)
relationship=“早于”;
否则如果(结果==0)
relationship=“与同时”;
其他的
relationship=“晚于”;
WriteLine({0}{1}{2}),date1,relationship,date2);
//该示例显示以下输出:
//2009年1月8日上午12:00:00早于2009年1月8日下午12:00:00

如果我理解正确,您需要比较两个日期

:

DateTime date1=新的DateTime(2009,8,1,0,0,0);
DateTime date2=新的日期时间(2009,8,1,12,0,0);
int result=DateTime.Compare(date1,date2);
字符串关系;
如果(结果<0)
relationship=“早于”;
否则如果(结果==0)
relationship=“与同时”;
其他的
relationship=“晚于”;
WriteLine({0}{1}{2}),date1,relationship,date2);
//该示例显示以下输出:
//2009年1月8日上午12:00:00早于2009年1月8日下午12:00:00

是否尝试将if语句更改为:

if (!string.IsNullOrEmpty(textboxA.Text) && !string.IsNullOrEmpty(textboxB.text))

是否尝试将if语句更改为:

if (!string.IsNullOrEmpty(textboxA.Text) && !string.IsNullOrEmpty(textboxB.text))

如果要在服务器端比较两个日期或时间,请使用此解决方案

DateTime dt1 = Convert.ToDateTime(TextBoxA.Text);
DateTime dt2 = Convert.ToDateTime(TextBoxB.Text);

int result = dt1.CompareTo(dt2)

如果要在服务器端比较两个日期或时间,请使用此解决方案

DateTime dt1 = Convert.ToDateTime(TextBoxA.Text);
DateTime dt2 = Convert.ToDateTime(TextBoxB.Text);

int result = dt1.CompareTo(dt2)

我会使用CustomValidator()。 顺便问一句:你为什么直接打电话给验证器

timeCompareValidator.Validate();

通常,验证程序在每个按钮触发的Page.Validate()期间进行评估(如果CausesValidation未设置为false)

我将使用CustomValidator()。 顺便问一句:你为什么直接打电话给验证器

timeCompareValidator.Validate();


通常,验证程序在每个按钮触发的Page.Validate()期间进行评估(如果CausesValidation未设置为false)

是否比较客户端或服务器端textBoxA和TextBoxB中输入的日期?我想我需要两者。我已经将属性添加到客户端。但我正在查看它是否在服务器端得到验证。您想在客户端或服务器端比较textBoxA和TextBoxB中输入的日期吗?我想两者都需要。我已经将属性添加到客户端。但我正在看它是否在服务器端得到验证。我正在与时间进行比较,但是我找到的最接近的类型是“日期”。可以将其转换为使用CompareValidator吗?对不起,我不熟悉CompareValidator。可能是因为它无法将您的输入识别为日期吗?我正在与时间进行比较,但我找到的最接近的类型是“日期”。可以将其转换为使用CompareValidator吗?对不起,我不熟悉CompareValidator。可能是因为它无法将您的输入识别为日期吗?同样的问题仍然存在。同样的问题仍然存在。这是否位于-protected void checkTimes\u TextChanged(对象发送方,事件参数e)中?是,但是,如果您在按钮ClickW上找到它会更好。GreaterThan运算符将位于何处?它是否位于受保护的void checkTimes_TextChanged(对象发送方,事件参数e)内?是,但是如果你在按钮上找到它会更好点击这里可以找到GreaterThan操作符吗?我通过一个例子告诉我直接调用它。我通过一个例子告诉我直接调用它。