1

2 つのテキスト コントロールがあります。1 つは開始日で、もう 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