如何在ajaxToolkit CalendarExtender中设置dd-MM-yyyy格式

时间:2013-04-05 06:11:50

标签: javascript asp.net ajaxcontroltoolkit

我正在使用ajax Toolkit Calendar Extender。我需要dd-MM-yyyy date formate。 为此,我写了这段代码

代码

 <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"  />

当我选择任何日期时,它会显示空白文本框。 当我使用dd / MM / yyyy然后它工作正常。 那么任何人都可以告诉我如何实现dd-MM-yyyy格式。

3 个答案:

答案 0 :(得分:0)

尝试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>

答案 1 :(得分:0)

尝试使用RequiredFieldValidator代替MaskedEditValidator来验证必填字段。然后为UserDateFormat="DayMonthYear"设置MaskedEditExtender以验证有效格式。

    <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" />

答案 2 :(得分:0)

最后我得到了一个解决方案。 它需要在.aspx页面或Web配置中进行一些配置更改。

在档案

Culture="en-GB"

在网络配置

<globalization culture="en-GB"/>

在网络配置文件的<system.web>部分。

现在Format="dd-MM-yyyy"工作正常。