我正在使用.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)焦点移出后发生更改

有人能帮我解决这个问题吗?
如果有的话,一定要提供更好的想法。
感谢你分享你的智慧。
发布于 2012-07-25 19:17:03
最后,我已经回复了我自己的问题,因为没有收到任何来自开发人员的回复。我发现这实际上是MaskEditExtender的一个问题。你可以查看this discussion。
https://stackoverflow.com/questions/10551400
复制相似问题