how to set dd-MM-yyyy formate in ajaxToolkit Calen

2019-08-30 01:00发布

问题:

I am using ajax Toolkit Calendar Extender.And i need dd-MM-yyyy date formate. For that i write this code

Code

 <asp:TextBox CssClass="tb10" ID="txtDtFrom" runat="server" Width="130px"></asp:TextBox>
        <asp:ImageButton ID="ImgFrom" runat="server" ImageUrl="~/GridViewCSSThemes/Images/Calendar_scheduleHS.png" CausesValidation="False" />
        <ajaxToolkit:MaskedEditExtender ID="MaskedEdit_dtFrom" runat="server"
            TargetControlID="txtDtFrom"
            Mask="99-99-9999"
            MaskType="Date"
            AcceptAMPM="True"
            DisplayMoney="Left"
            AcceptNegative="Left"
            ErrorTooltipEnabled="True" CultureAMPMPlaceholder="" 
        CultureCurrencySymbolPlaceholder="" CultureDateFormat="" 
        CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
        CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" />
        <ajaxToolkit:MaskedEditValidator ID="MaskedEditV_dtFrom" runat="server"
            ControlExtender="MaskedEdit_dtFrom"
            ControlToValidate="txtDtFrom"
            EmptyValueMessage="Date is required"
            InvalidValueMessage="Date is invalid"
            Display="Dynamic"
            TooltipMessage="Input a date"
            EmptyValueBlurredText="Date is required"
            InvalidValueBlurredMessage="Date is invalid"
            IsValidEmpty="False"
            ValidationGroup="MKE" />
        <ajaxToolkit:CalendarExtender ID="Cd_dt" runat="server" TargetControlID="txtDtFrom" 
            CssClass="red" PopupButtonID="ImgFrom" Format="dd-MM-yyyy" 
        Enabled="True"  />

When i select any date it shows blank text box. And when i use dd/MM/yyyy then it works fine. So can any one tell me how to achieve dd-MM-yyyy format.

回答1:

Try Format="dd-MM-yyyy"

<asp:TextBox ID="txtBirthDate"  runat="server" ></asp:TextBox>
    <asp:CalendarExtender ID="calendarBirthDate" 
        runat="server" Enabled="True" TargetControlID="txtBirthDate" Format="dd-MM-yyyy">
    </asp:CalendarExtender>


回答2:

Try using RequiredFieldValidator instead of MaskedEditValidator to validate the required field. Then set the UserDateFormat="DayMonthYear" for MaskedEditExtender to validate the valid format.

    <ajaxToolkit:MaskedEditExtender ID="MaskedEdit_dtFrom" runat="server" TargetControlID="txtDtFrom"
        Mask="99-99-9999" MaskType="Date" AcceptAMPM="True" DisplayMoney="Left" AcceptNegative="Left"
        ErrorTooltipEnabled="True" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder=""
        CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder=""
        CultureTimePlaceholder="" Enabled="True" UserDateFormat="DayMonthYear" />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtDtFrom"
        Display="Dynamic" ErrorMessage="Date is required" ValidationGroup="MKE"></asp:RequiredFieldValidator>
    <ajaxToolkit:CalendarExtender ID="Cd_dt" runat="server" TargetControlID="txtDtFrom"
        CssClass="red" PopupButtonID="ImgFrom" Format="dd-MM-yyyy" Enabled="True" />


回答3:

Finally i got a solution. It needs some configuration changes in .aspx page or web config.

In file

Culture="en-GB"

In web config

<globalization culture="en-GB"/>

In <system.web> section of web config file.

Now Format="dd-MM-yyyy" works fine.