Проблема с MaskedEditExtender
Я использую AjaxControlToolkit для.Net 4.0
У меня есть форма с текстовым полем, которая отображает / принимает дату и время в формате ММ / ДД / ГГГГ ЧЧ: ММ, т.е. в формате даты США с 24-часовым форматом времени.
Я использовал TextBox с MaskedEditExtender и MaskedEditValidator. Пожалуйста, посмотрите на следующий код -
<p>
First Date Time :
<asp:TextBox ID="txtDateTime1" runat="server"></asp:TextBox>
<asp:MaskedEditExtender ID="mskDateTime1" runat="server"
Mask="99/99/9999 99:99" MaskType="DateTime" TargetControlID="txtDateTime1"
UserTimeFormat="TwentyFourHour">
</asp:MaskedEditExtender>
<asp:MaskedEditValidator ID="mskValDateTime1" runat="server"
ControlExtender="mskDateTime1" ControlToValidate="txtDateTime1"
IsValidEmpty="False"></asp:MaskedEditValidator>
</p>
<p>
Second Date Time :
<asp:TextBox ID="txtDateTime2" runat="server"></asp:TextBox>
<asp:MaskedEditExtender ID="mskDateTime2" runat="server"
Mask="99/99/9999 99:99" MaskType="DateTime" TargetControlID="txtDateTime2"
UserTimeFormat="TwentyFourHour">
</asp:MaskedEditExtender>
<asp:MaskedEditValidator ID="mskValDateTime2" runat="server"
ControlExtender="mskDateTime2" ControlToValidate="txtDateTime2"
IsValidEmpty="False"></asp:MaskedEditValidator>
</p>
Для отображения дат в вышеуказанном формате я использую формат в ToString(), как указано ниже -
protected void Page_Load(object sender, EventArgs e)
{
txtDateTime1.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm");
txtDateTime2.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm");
}
Дата и время отображаются правильно, но когда фокус выходит за пределы текстовых полей, время меняется.
Я не знаю, почему это происходит.
Пожалуйста, посмотрите на следующие снимки -
А) Первоначально
Б) Изменено после фокусировки
Кто-нибудь может мне помочь решить эту проблему.
Предоставьте лучшие идеи, если таковые имеются.
Спасибо, что поделились своей мудростью.
1 ответ
Наконец, я ответил на свой вопрос, так как не получил никаких ответов от разработчиков. Я обнаружил, что это на самом деле проблема с MaskEditExtender. Вы можете проверить это обсуждение.