1

我有两个文本控件,一个是开始日期,一个是结束日期。我需要在这些日期验证用户输入,很简单,开始日期必须小于或等于结束日期。

我有以下代码:

<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 更好,但是我遇到了如何比较日期的问题。

4

0 回答 0