使用Calendar Extender失去价值的文本框

时间:2012-11-06 13:26:46

标签: asp.net vb.net ajaxcontroltoolkit

我有一个使用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" />

当我选择文本框并从日历中选择日期然后选择表单的另一个控件时,文本框只会丢失它的值: enter image description here

如果我键入值而不是从日历中选择它,它就不会消失。没有发生回发,文本框没有TextChanged事件或任何其他关联事件。 如果我尝试使用IE的兼容模式这样做,它可以工作。如果有帮助,我使用的是IE9版本9.0.8112.16421。

1 个答案:

答案 0 :(得分:0)

我敢打赌你的验证器会禁用此值。检查日历和验证器是否具有相同的日期格式。