Asp.net 使用Masktype Time的MaskedEditExtender时,如何覆盖不需要的行为?
正确指定输入时,以下两行工作正常:Asp.net 使用Masktype Time的MaskedEditExtender时,如何覆盖不需要的行为?,asp.net,ajax,mask,Asp.net,Ajax,Mask,正确指定输入时,以下两行工作正常: <asp:TextBox ID="MondayOpenTextBox" runat="server" MaxLength="5" /> <Ajax:MaskedEditExtender ID="MondayOpenMaskedEditExtender" runat="server" TargetControlID="MondayOpenTextBox" AcceptAMPM="false" MaskType="Time"
<asp:TextBox ID="MondayOpenTextBox" runat="server" MaxLength="5" />
<Ajax:MaskedEditExtender ID="MondayOpenMaskedEditExtender" runat="server"
TargetControlID="MondayOpenTextBox" AcceptAMPM="false" MaskType="Time"
Mask="99:99" />
如果用户输入“12”,然后转到下一个字段,则分钟将填充当前分钟。这对于所讨论的页面是不可取的。我想弹出一条错误消息,或者为跳过的数字填写“00”
这无助于:
<asp:RegularExpressionValidator runat="server" ID="ValidateMondayOpenTextBox"
ControlToValidate="MondayOpenTextBox" Display="Dynamic" ErrorMessage="X"
ValidationExpression="\d\d:\d\d" />
由于该字段显然是在验证程序轮到它时格式化的。您可以将扩展器的
自动完成
属性设置为false
,以防止它用当前时间填充空掩码字符:
<Ajax:MaskedEditExtender ID="MondayOpenMaskedEditExtender" runat="server"
TargetControlID="MondayOpenTextBox" AcceptAMPM="false" MaskType="Time"
Mask="99:99" AutoComplete="False" />
这样,您的验证器应该能够正确地完成它的工作。要将其填充为:00,您可以将属性AutoCompleteValue设置为“99:00”这正是我想要的。谢谢