我正在尝试使用屏蔽的编辑扩展器来显示文本框,例如以05:00或-05:00的形式显示时区偏移。 以下是我使用的,它最初显示掩码,并允许我输入上述任何一个。但是当我离开文本框时,它删除了冒号,我得到了无效的格式错误。我在这里错过了什么? (我将MaskType从Number更改为None,希望它不会丢弃:但确实如此)。
<asp:TextBox runat="server" ID="tbTZOffset" CssClass="NormalSmall" Text="" />
<ajaxToolkit:MaskedEditExtender runat="server" ID="meeTZO"
TargetControlID="tbTZOffset"
Mask="99:99"
MessageValidatorTip="false"
MaskType="None"
InputDirection="LeftToRight"
AcceptNegative="Left"
ErrorTooltipEnabled="True"/>
<ajaxToolkit:MaskedEditValidator runat="server" ID="mevTZO"
ControlExtender="mevTZO"
ControlToValidate="tbTZOffset"
IsValidEmpty="False"
EmptyValueMessage="Time Zone Offset is required"
InvalidValueMessage="Time Zone Offset is invalid (must be in [-]hh:mm format)"
EmptyValueBlurredText="*"
Display="none"
ValidationExpression="\b[-]?\d{2}:\d{2}\b"
TooltipMessage="Time Zone Offset in [-]hh:mm format"
ValidationGroup="vgConfig"/>
添加信息:
我为.Net 3.5(2013年7月版)下载了最新版本的Ajax Control Toolkit;显然在以前的版本中有一个错误。
我可以设置MaskType =&#34; Number&#34;,Mask =&#34; NNNNNN&#34;和过滤=&#34; - :&#34;,足够的字符允许4位数,负号和冒号。这似乎允许我输入05:00和-05:00,但是如果我输入05:00,它会在末尾留下一个空格来填充(即保持显示最后一个下划线,如00:05_)。它还允许我输入05:008。
如果我将面具类型更改回&#34;无&#34;,我将无法再次输入负数。
我已经没有想法了,我已经准备好忘记这个控制了。我不确定这些开发人员在发布他们的&#34;产品之前是否进行过任何类型的测试。