问题
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.
来源:https://stackoverflow.com/questions/15827105/how-to-set-dd-mm-yyyy-formate-in-ajaxtoolkit-calendarextender