0

我想使用 maskededit 使用户执行与 maskededit 的 ajax 控件工具包示例中相同的操作,但我需要使用另一种格式,因为我的客户端的日期显示为 dd-MM-yyyy。我还需要在其中输入一个值,因为日期是从数据库加载的(一旦我让这个代码工作,那就是)

看看这个样本: http ://www.asp.net/ajax/ajaxcontroltoolkit/samples/maskededit/maskededit.aspx

我需要在标有“输入日期(格式:99/99/9999):”的文本框中执行相同的操作

我下载了示例代码,并在相关代码中将格式改为“99-99-9999”:

但是文本框中不显示示例日期“12-12-1999”。为什么不?

我无法弄清楚,我做错了什么。我还尝试将cultureName 设置为da-DK,但它没有任何机会。我也试过 Chrome、Firefox 和 IE7,同样的行为......

我该如何解决?

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

3 回答 3

3

我想你已经解决了这个问题,但是......你试过使用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" />
于 2009-05-25T13:59:07.623 回答
1

ValidationExpressionMaskedEditValidator替换userDateFormat类型中使用的日期dd/MM/yyy非常好。这是 :

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]))))"

MaskedEditExtenderMaskType="none".
验证确定。

于 2009-09-28T07:55:17.370 回答
0
<asp:TextBox ID="TextBox5" runat="server" Width="130px" MaxLength="10" style="text-align:justify" ValidationGroup="MKE" Text="12-12-1999"></asp:TextBox>

我想知道您是否将文本移动到实际的文本属性,如果这会有所不同...我没有最新版本的 AjaxToolkit 否则我会自己尝试...哦,我只是注意到您的最大长度真的设置为 1 还是复制和粘贴错误?那也会引起问题。

于 2009-04-06T23:33:53.147 回答