我們有一個文本框,用戶可以在其中輸入日期。唯一有效的日期是MM/dd/yyyy
。經歷了所有的麻煩後,我認爲MaskedEditExtender
是最好的選擇。但是我使用它有一些問題。以下是我的ASPX代碼,如何使用某些日期格式的Ajax MaskedEdit?
<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>
這裏是我的問題:
- 我加了
MaskedEditExtender
,當我拿起從日曆日期之後,它不會寫入文本框中。 - 當我在文本框中輸入某個日期時,它將變成01-01-2011,而不是01/01/2011,這正是我想要的。
- 我應該使用
CompareValidator
還是MaskedEditValidator
?因爲我想確保像02/29/2011那樣的日期無效。
MaskedEditValidator或CompareValidator之間有什麼不同? – GLP 2012-03-09 14:55:55
正如我之前寫的,應該使用CompareValidator來比較一個輸入控件的值與另一個輸入控件的值或固定值,並且MaskedEditValidator將驗證輸入文本是否與MaskedEdit擴展器中指定的模式相匹配。所以對於你的問題,你應該使用MaskedEditValidator來確定日期是否正確。 – Koste 2012-03-09 15:00:47