C# 比较表格上显示为小时和分钟下拉列表的两个时间

C# 比较表格上显示为小时和分钟下拉列表的两个时间,c#,asp.net,validation,comparevalidator,C#,Asp.net,Validation,Comparevalidator,我一直在开发一个.NET/C表单,其中包含两个由下拉菜单构建的时间字段。时间A由两个小时和分钟的下拉列表组成,时间B也由两个小时和分钟的下拉列表组成。我需要比较两者,以确保时间A总是大于B 我可以用一个比较器来检查小时数,它可以工作,但不考虑分钟数。因此,让我们假设以下场景: A=11:00 B=12:15很好,我的验证接受这一点 A=11:15 B=11:00被接受,因为小时数相等,但由于未验证分钟数,因此不应通过 在使用下拉列表的情况下,如何确保B始终等于或大于A?如果我可以更改,但不允许这

我一直在开发一个.NET/C表单,其中包含两个由下拉菜单构建的时间字段。时间A由两个小时和分钟的下拉列表组成,时间B也由两个小时和分钟的下拉列表组成。我需要比较两者,以确保时间A总是大于B

我可以用一个比较器来检查小时数,它可以工作,但不考虑分钟数。因此,让我们假设以下场景:

A=11:00 B=12:15很好,我的验证接受这一点 A=11:15 B=11:00被接受,因为小时数相等,但由于未验证分钟数,因此不应通过


在使用下拉列表的情况下,如何确保B始终等于或大于A?如果我可以更改,但不允许这样做,我会这样做。

我认为最好的方法是有一个封装比较的方法,在内部创建两个日期时间值a和b,并对它们进行比较


这种方法将使用UI的值初始化a和b。

为什么不添加一个CustomValidator并编写一个javascript函数来比较日期?

AM/PM呢?如果您使用的是12小时时间,则下午1:15将早于上午11:30出现。编辑:不确定您是打算在一天中的实际时间,还是仅在此处设置时间跨度。上面的评论只适用于一天中的某个时间,您打算什么时候验证?每次更改下拉列表时?这就产生了一个UI问题。假设我有A=9:15和B=10:00。如果我想把B改成9:30,把10改成9,哎呀!正在获取错误消息,因为现在9:00早于9:15。tl;dr不会在下拉列表更改时验证此内容,请稍后验证。