Как использовать Ajax MaskedEdit с определенным форматом даты? - PullRequest
3 голосов
/ 09 марта 2012

У нас есть текстовое поле, в которое пользователь может ввести дату.Единственная допустимая допустимая дата - MM/dd/yyyy.Пройдя через все неприятности, я думаю, MaskedEditExtender - лучший выбор.Но у меня есть некоторые проблемы с его использованием.Ниже приведен мой ASPX-код:

<div>
    Date: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:MaskedEditExtender ID="TextBox1_MaskedEditExtender" runat="server" 
        CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
        CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
        CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
        Mask="99/99/9999" MaskType="Date" TargetControlID="TextBox1">
    </asp:MaskedEditExtender>
    <asp:CalendarExtender ID="TextBox1_CalendarExtender" runat="server" 
        Enabled="True" TargetControlID="TextBox1" Format="MM/dd/yyyy">
    </asp:CalendarExtender>         
</div>

Вот мои вопросы:

  1. После добавления MaskedEditExtender, когда я выбираю дату из календаря, она не будетнапишите в текстовое поле.
  2. Когда я введу в текстовое поле некоторую дату, она станет 01-01-2011, а не 01.01.2011, что я и хочу.
  3. Должен ли я использовать CompareValidator или MaskedEditValidator?Поскольку я хочу убедиться, что дата, например 29.02.2011, не действительна.

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Ваш код правильный. Я пробую сам и все работает отлично.

Итак, я предлагаю вам попробовать этот код в отдельном проекте решения, чтобы увидеть, есть ли какие-либо другие проблемы.

О 3-м вопросе, вероятно, вам нужно использовать MaskedEditValidator, если вам нужно проверить введенную дату. Вы должны использовать CompareValidator, если вам нужно сравнить некоторые даты, например.

Вот хороший пример использования MaskedEditValidator:

<ajaxToolkit:MaskedEditValidator ID="MV_Date" runat="server" ControlToValidate="TextBox1"
            ControlExtender="TextBox1_MaskedEditExtender" InvalidValueMessage="Invalid Date"
            IsValidEmpty="False" />
0 голосов
/ 09 марта 2012

Ваш код работает отлично. Просто добавьте последнюю версию инструментария управления ajax.

...