【发布时间】:2012-05-11 12:33:11
【问题描述】:
我正在为 .Net 4.0 使用 AjaxControlToolkit
我有一个带有文本框的表单,它以 MM/DD/YYYY HH:MM 格式显示/接受日期和时间,即美国日期格式和 24 小时时间格式。
我使用了带有 MaskedEditExtender 和 MaskedEditValidator 的 TextBox。 请看下面的代码-
<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) 聚焦后改变
谁能帮我解决这个问题。
如果有更好的想法,请提供。
感谢您分享您的智慧。
【问题讨论】:
-
17:50 转换为 5:50 或 17:50 转换为 05:11???
-
这是实际问题。我想在第一张图片中显示一个。
标签: asp.net c#-4.0 ajaxcontroltoolkit maskededitextender maskededitvalidator