2012-11-06 18 views
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" /> 

當我選擇文本框並從日曆中選擇一個日期,然後選擇另一控制形式,文本框只是失去了它的價值: enter image description here

如果我鍵入值,而不是從日曆中選擇它,它不會消失。沒有回傳發生,文本框沒有TextChanged事件或任何其他關聯。 如果我嘗試使用IE的兼容模式來做到這一點,它就可以工作。如果有幫助,我使用IE9版本9.0.8112.16421。

+0

什麼版本的Ajax控件工具包庫和ASP.NET可以使用?您是否嘗試通過將標記從您的帖子粘貼到空白頁來重現此問題? –

+0

我不確定因爲我沒有實現這個,但是如果我查找項目中AjaxControlToolkit dll引用的屬性,版本是3.0.30512.1和運行時版本v2.0.50727。我不知道你的意思是「通過從你的帖子粘貼標記到空白頁來重現這個問題」。 – gabsferreira

+0

我試圖在我的本地環境中重現它,但我無法重現此問題。我用你的帖子標記。 –

回答

0

我敢打賭,你的驗證器禁用此值。檢查日曆和驗證程序是否具有相同的日期格式。

+0

我脫掉驗證器和其他控件只留下文本框和CalendarExtender,仍然發生。 – gabsferreira

+0

有沒有JS錯誤? –