将时间绑定到文本框

时间:2009-10-29 13:27:59

标签: c# .net asp.net visual-studio ajax

我正在使用一个很棒且易于使用的Masked Editor,但我很想知道。有没有办法将时间绑定到具有蒙版编辑器的文本框并导致AM或PM显示?

我知道如果您键入A或P AM并且PM会显示,但是如何让它显示在时间的绑定文本框中?

<asp:TextBox ID="txttime" runat="server" Width="90"></asp:TextBox>
                         <ajaxToolkit:MaskedEditExtender ID = "MaskedEditExtender1" AcceptAMPM="true"  ClearTextOnInvalid="true" ClearMaskOnLostFocus="false" runat="server" TargetControlID="txttime"
                         Mask="99:99" MaskType="Time"></ajaxToolkit:MaskedEditExtender>
                         <ajaxToolkit:MaskedEditValidator ID = "MEV"  ControlToValidate="txttime" runat="server" ControlExtender="MaskedEditExtender1" IsValidEmpty="false"></ajaxToolkit:MaskedEditValidator>

以下是绑定到文本框的代码。我只看到没有上午或下午的时间

DateTime datetime = Convert.ToDateTime(DataBinder.Eval(FormView1.DataItem, "Date"));   
txttime.Text = String.Format("{0:t}", datetime);

2 个答案:

答案 0 :(得分:2)

更改

MaskType="Number" 

MaskType="DateTime"

并包含以下参数:

AcceptAMPM="true"

现在就是:

<asp:TextBox ID="txttime" runat="server" Width="90"></asp:TextBox>
                         <ajaxToolkit:MaskedEditExtender ID = "MaskedEditExtender1" AcceptAMPM="true"  ClearTextOnInvalid="true" ClearMaskOnLostFocus="false" runat="server" TargetControlID="txttime"
                         Mask="99:99" MaskType="DateTime" AcceptAMPM="true"></ajaxToolkit:MaskedEditExtender>
                         <ajaxToolkit:MaskedEditValidator ID = "MEV"  ControlToValidate="txttime" runat="server" ControlExtender="MaskedEditExtender1" IsValidEmpty="false"></ajaxToolkit:MaskedEditValidator>

答案 1 :(得分:1)

ClearMaskOnLostFocus必须设置为true。那就是问题所在。谢谢你的帮助。

ClearMaskOnLostFocus="true" 

这是我找到答案的地方

Click here