2012-08-25 49 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

相關問題