3

ユーザーが日付を入力できるテキストボックスがあります。許可される唯一の有効な日付はですMM/dd/yyyy。すべてのトラブルを乗り越えた後、私MaskedEditExtenderは最良の選択だと思います。しかし、私はそれを使用するのにいくつかの問題があります。以下は私のASPXコードです。

<div>
    Date: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:MaskedEditExtender ID="TextBox1_MaskedEditExtender" runat="server" 
        CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
        CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
        CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
        Mask="99/99/9999" MaskType="Date" TargetControlID="TextBox1">
    </asp:MaskedEditExtender>
    <asp:CalendarExtender ID="TextBox1_CalendarExtender" runat="server" 
        Enabled="True" TargetControlID="TextBox1" Format="MM/dd/yyyy">
    </asp:CalendarExtender>         
</div>

これが私の質問です:

  1. を追加した後MaskedEditExtender、カレンダーから日付を取得すると、テキストボックスに書き込まれません。
  2. テキストボックスに日付を入力すると、2011年1月1日ではなく、2011年1月1日になります。
  3. または使用する必要がありますCompareValidatorMaskedEditValidator?2011年2月29日のような日付が無効であることを確認したいので。
4

2 に答える 2

2

あなたのコードは正しいです。私は自分でそれを試してみて、すべてが完璧に機能します。

したがって、別のプロジェクトソリューションでこのコードを試して、他に問題があるかどうかを確認することをお勧めします。

3番目の質問について、挿入された日付を検証する必要がある場合は、おそらくMaskedEditValidatorを使用する必要があります。たとえば、いくつかの日付を比較する必要がある場合は、CompareValidatorを使用する必要があります。

MaskedEditValidatorの使用例を次に示します。

<ajaxToolkit:MaskedEditValidator ID="MV_Date" runat="server" ControlToValidate="TextBox1"
            ControlExtender="TextBox1_MaskedEditExtender" InvalidValueMessage="Invalid Date"
            IsValidEmpty="False" />
于 2012-03-08T23:16:08.457 に答える
0

コードは完全に機能します。最新バージョンのajaxコントロールツールキットを追加するだけです。

于 2012-03-09T05:50:16.863 に答える