Ajax工具包 - Masked Edit Extender

时间:2013-09-16 20:39:29

标签: ajax ajaxcontroltoolkit c#-2.0 asp.net-3.5 maskededitextender

我正在尝试使用屏蔽的编辑扩展器来显示文本框,例如以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;产品之前是否进行过任何类型的测试。

0 个答案:

没有答案