我正在为 .Net 4.0 使用 AjaxControlToolkit
我有一个带有文本框的表单,它以 MM/DD/YYYY HH:MM 格式显示/接受日期和时间,即具有 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");
}
日期和时间显示正确,但当焦点离开文本框时,时间会发生变化。
我不知道为什么会这样。
请看以下截图——
A) 原本
B) 聚焦后改变
谁能帮我解决这个问题。
如果有的话,请提供更好的想法。
感谢您分享您的智慧。