1

我正在为 .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) 聚焦后改变 软件天才公司

谁能帮我解决这个问题。

如果有的话,请提供更好的想法。

感谢您分享您的智慧。

4

1 回答 1

0

最后,我已经回答了我自己的问题,因为没有收到开发人员的任何回复。我发现这实际上是 MaskEditExtender 的一个问题。你可以查看这个讨论

于 2012-07-25T11:17:03.263 回答