4

CalendarExtender とその他の検証用コントロールを使用するテキスト ボックスがあります。コードは次のとおりです。

<asp:TextBox runat="server" ID="txtPrazoData" MaxLength="10" Width="80" />
<ajax:CalendarExtender ID="cePrazoData" runat="server" TargetControlID="txtPrazoData" />

<ajax:MaskedEditValidator runat="server" ID="mevPrazoDataModal" ControlToValidate="txtPrazoData" InvalidValueMessage="<%$ Resources:Base, DataInvalida %>" InvalidValueBlurredMessage="*" Text="*" 
ControlExtender="meePrazoData" ErrorMessage="*" EmptyValueMessage="<%$ Resources:Base, CampoRequerido %>"
IsValidEmpty="false" EmptyValueBlurredText="*" ValidationGroup="GrpAcaoModal">*</ajax:MaskedEditValidator>

<ajax:MaskedEditExtender runat="server" ID="meePrazoData" TargetControlID="txtPrazoData" Mask="99/99/9999" MaskType="Date"/>
<ajax:ValidatorCalloutExtender ID="vcePrazoData" TargetControlID="mevPrazoDataModal" runat="server"/>
<asp:CompareValidator ID="cvPrazoData" runat="server" ControlToValidate="txtPrazoData" Type="Date" Operator="DataTypeCheck" ErrorMessage="<%$ Resources: Base, DataInvalida %>" Display="None" ValidationGroup="GrpAcaoModal" />
<ajax:ValidatorCalloutExtender ID="vcePrazoDataCompare" runat="server" TargetControlID="cvPrazoData" />

テキストボックスを選択してカレンダーから日付を選択し、フォームの別のコントロールを選択すると、テキストボックスの値が失われます: ここに画像の説明を入力

カレンダーから選択する代わりに値を入力すると、値が消えません。ポストバックは発生せず、テキストボックスには TextChanged イベントやその他の関連イベントはありません。IE の互換モードを使用してこれを実行しようとすると、機能します。それが役立つ場合、私は IE9 バージョン 9.0.8112.16421 を使用しています。

4

1 に答える 1

0

あなたのバリデーターがこの値を無効にしていると思います。カレンダーとバリデーターの日付形式が同じかどうかを確認してください。

于 2012-11-14T10:10:21.937 に答える