2012-08-25 51 views
0

我正在尝试使用ajaxToolkit:MaskedEditExtender进行时间间隔输入。现在我希望能够允许几个小时:分钟,但是我这样做的方式只允许在00:00到23:59之间。然而,我需要它也允许999:59,即我不想每天都有一段时间,但是要设置一个时间间隔。ajaxToolkit:MaskedEditExtender - 有没有办法写一个自定义的MaskType,或者我可以使用“时间”?

   <ajaxToolkit:MaskedEditExtender 
        runat="server" 
        ID="StartTimeMaskedEdit" 
        MaskType="Time" 
        Mask="999:99" 
        TargetControlID="TimeOutTextBox" 
        ClearMaskOnLostFocus="true" 
        AutoComplete="true" 
        AutoCompleteValue="000:00" />   

       <ajaxToolkit:MaskedEditValidator 
        runat="server" ID="StartTimeMaskedEditValidator" 
        ControlExtender="StartTimeMaskedEdit" 
        ControlToValidate="TimeOutTextBox" 
        IsValidEmpty="false" 
        InvalidValueMessage="*Invalid Time" 
        InvalidValueBlurredMessage="*Invalid Time" /> 

当我使用MaskType="number",问题是这样的,结肠消失一旦输入字段失去焦点(可能是因为冒号不是一个数字的有效组成部分)。它重新出现在焦点上,但这还不够好。

有没有办法写一个自定义MaskType或允许上面的MaskType="Time""number" constaints?

回答

0

尝试如下代码:

<ajaxToolkit:MaskedEditExtender ID="StartTimeMaskedEdit" runat="server" 
         TargetControlID="TimeOutTextBox" Mask="999:99:99" 
         MessageValidatorTip="true" MaskType="Time" CultureName="en-us" 
         InputDirection="RightToLeft" ErrorTooltipEnabled="True" /> 


<ajaxToolkit:MaskedEditValidator ID="StartTimeMaskedEditValidator" runat="server" 
         ControlExtender="StartTimeMaskedEdit" 
         ControlToValidate="TimeOutTextBox" IsValidEmpty="false" 
         MaximumValue="23:59:59" MinimumValue="00:00:00" 
         EmptyValueMessage="Enter Time" 
         MaximumValueMessage="23:59:59" 
         InvalidValueBlurredMessage="Time is Invalid" 
         MinimumValueMessage="Time must be grater than 00:00:00" 
         EmptyValueBlurredText="*" 
         ToolTip="Enter time between 00:00:00 to 23:59:59"> 
</asp:MaskedEditValidator> 

我希望它的工作,并帮助您

+0

遗憾的是它仍然只允许最多23 :59。我删除了验证部分,现在在代码隐藏中这样做。 – EasierSaidThanDone

相关问题