我有两个文本控件,一个是开始日期,一个是结束日期。我需要在这些日期验证用户输入,简单,开头必须小于或等于结束日期。
我有以下代码:
<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更好,但后来我遇到了问题,如何比较日期。