Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用Masktype Time的MaskedEditExtender时,如何覆盖不需要的行为?_Asp.net_Ajax_Mask - Fatal编程技术网

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”

这正是我想要的。谢谢