我有两个文本控件,一个是开始日期,一个是结束日期。我需要在这些日期验证用户输入,很简单,开始日期必须小于或等于结束日期。
我有以下代码:
<asp:TextBox ID="txtStartDate" runat="server" CssClass="calendar" TabIndex="5"></asp:TextBox>
<asp:TextBox ID="txtEndDate" runat="server" CssClass="calendar" TabIndex="7"></asp:TextBox>
<asp:CompareValidator ID="cvDate" Operator="GreaterThanEqual" Type="Date"
ControlToValidate="txtEndDate" ControlToCompare="txtStartDate"
ErrorMessage="End date must be greater than or equal to start date!"
runat="server" Display="None"/>
<asp:ValidatorCalloutExtender ID="cvDate_ValidatorCalloutExtender" runat="server"
CloseImageUrl="images/close.gif" Enabled="True" HighlightCssClass="formFieldHighligherOnValidation"
TargetControlID="cvDate" WarningIconImageUrl="images/warning.gif">
</asp:ValidatorCalloutExtender>
问题是无论我在 UI 中选择什么日期,验证总是失败。我不明白为什么,我在这里和其他论坛查看了各种帖子,这似乎是正确的方法。想法?
编辑:
日期实际上只是文本框中的纯字符串。我正在使用 AjaxControlKit 日历。这就解释了为什么当我比较这些字符串时会得到如此奇怪的结果。我想保留当前的日历,因为它看起来比普通的 ASP 更好,但是我遇到了如何比较日期的问题。