2009-04-06 17 views
0

Ich möchte Maskededit verwenden, um den Benutzer wie im Ajax Control Toolkit-Beispiel für Maskededit zu machen, aber ich muss ein anderes Format verwenden, da Daten auf meinem Client ist angezeigt als TT-MM-JJJJ. Ich brauche auch dort einen Wert zu setzen zu beginnen, da das Datum aus einer db geladen wird (wenn ich diesen Code zu erhalten arbeiten, das ist)Problem mit MaskedEdit von Ajax Control Toolkit - andere Kultur

Schauen Sie sich das Beispiel: http://www.asp.net/ajax/ajaxcontroltoolkit/samples/maskededit/maskededit.aspx

Ich muß das gleiche tut wie in der Textbox der Bezeichnung "Datum eingeben (Format: 99/99/9999):"

ich den Beispielcode heruntergeladen und verändern das Format "99-99-9999" in dem entsprechenden Code:

Aber das Beispieldatum "12-12-1999" wird nicht in der Textbox angezeigt. Warum nicht?

Ich kann nicht herausfinden, was ich falsch mache. Ich habe auch versucht, den cultureName auf da-DK zu setzen, aber es hat nichts geändert. Ich habe auch versucht, Chrome, Firefox und IE7, das gleiche Verhalten ...

Wie behebe ich das?

<asp:TextBox ID="TextBox5" runat="server" Width="130px" MaxLength="1" style="text-align:justify" ValidationGroup="MKE">12-12-1999</asp:TextBox> 
    <asp:ImageButton ID="ImgBntCalc" runat="server" ImageUrl="~/images/Calendar_scheduleHS.png" CausesValidation="False" /> 
    <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender5" runat="server" 
     TargetControlID="TextBox5" 
     Mask="99-99-9999" 
     MessageValidatorTip="true" 
     OnFocusCssClass="MaskedEditFocus" 
     OnInvalidCssClass="MaskedEditError" 
     MaskType="Date" 
     DisplayMoney="Left" 
     AcceptNegative="Left" 
     ErrorTooltipEnabled="True" /> 
    <ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator5" runat="server" 
     ControlExtender="MaskedEditExtender5" 
     ControlToValidate="TextBox5" 
     EmptyValueMessage="Date is required" 
     InvalidValueMessage="Date is invalid" 
     Display="Dynamic" 
     TooltipMessage="Input a date" 
     EmptyValueBlurredText="*" 
     InvalidValueBlurredMessage="*" 
     ValidationGroup="MKE" /> 

Antwort

1

Ich benutze ValidationExpression in MaskedEditValidator ersetzen userDateFormat Typ Datum dd/MM/yyy sehr gut. Dies ist:

ValidationExpression="(((((0[1-9])|(1\d)|(2[0-8]))\/((0[1-9])|(1[0-2])))|((31\/((0[13578])|(1[02])))|((29|30)\/((0[1,3-9])|(1[0-2])))))\/((20[0-9][0-9])|(19[0-9][0-9])))|((29\/02\/(19|20)(([02468][048])|([13579][26]))))" 

Und in MaskedEditExtender setzen MaskType="none".
Bestätigen Sie in Ordnung.

0
<asp:TextBox ID="TextBox5" runat="server" Width="130px" MaxLength="10" style="text-align:justify" ValidationGroup="MKE" Text="12-12-1999"></asp:TextBox> 

Ich frage mich, wenn Sie den Text der eigentlichen Textattribut zu verschieben, wenn das einen Unterschied machen würde ... Ich weiß nicht die aktuellste Version von AjaxToolkit andere weise haben würde ich es versuchen mein Selbst ... Oh, ich habe gerade bemerkt, ist Ihre maximale Länge wirklich auf eins gesetzt oder ist das ein Fehler beim Kopieren und Einfügen? Das würde auch Probleme verursachen.

+0

Die maxlength war eigentlich ein Fehler drin, aber leider nicht die Ursache meiner Probleme. Ich habe auch versucht, den Text-Wert im Text-Attribut zu setzen, kein Glück ... – Kjensen

3

Ich möchte Sie haben dies bereits behoben, aber ... haben Sie versucht mit UserDateFormat="DayMonthYear"?

UserDateFormat="DayMonthYear" 

<asp:TextBox ID="TextBox5" runat="server" Width="130px" MaxLength="1" style="text-align:justify" ValidationGroup="MKE">12-12-1999</asp:TextBox> 
<asp:ImageButton ID="ImgBntCalc" runat="server" ImageUrl="~/images/Calendar_scheduleHS.png" CausesValidation="False" /> 
<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender5" runat="server" 
    TargetControlID="TextBox5" 
    Mask="99-99-9999" 
    MessageValidatorTip="true" 
    OnFocusCssClass="MaskedEditFocus" 
    OnInvalidCssClass="MaskedEditError" 
    MaskType="Date" 
    DisplayMoney="Left" 
    AcceptNegative="Left" 
    ErrorTooltipEnabled="True" **UserDateFormat="DayMonthYear"** /> 
<ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator5" runat="server" 
    ControlExtender="MaskedEditExtender5" 
    ControlToValidate="TextBox5" 
    EmptyValueMessage="Date is required" 
    InvalidValueMessage="Date is invalid" 
    Display="Dynamic" 
    TooltipMessage="Input a date" 
    EmptyValueBlurredText="*" 
    InvalidValueBlurredMessage="*" 
    ValidationGroup="MKE" />