我们有一个文本框,用户可以在其中输入日期。唯一允许的有效日期是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>
以下是我的问题:
- 添加后
MaskedEditExtender
,当我从日历中选择日期时,它不会写入文本框。 - 当我在文本框中输入某个日期时,它将变为 01-01-2011,而不是 01/01/2011,这正是我想要的。
- 我应该使用
CompareValidator
orMaskedEditValidator
吗?因为我想确保像 02/29/2011 这样的日期无效。