使用带有MaskedEditExtender的CalendarExtender

时间:2011-03-28 18:19:49

标签: asp.net ajaxcontroltoolkit calendarextender maskededitextender

我正在尝试使用与此页面上的第三个文本框完全相同的文本框功能:http://www.asp.net/AJAX/AjaxControlToolkit/Samples/MaskedEdit/MaskedEdit.aspx。我正在尝试使用带有MaskedEditExtender的CalendarExtender控件,因为我不希望用户能够在框中输入除有效日期之外的任何内容。在我的maskededitextender上我有一个“99/99/9999”的面具,但它似乎只在日期实际是8位数(例如12/12/2000)时工作,而不是当日期是7或6位数时(例如1 / 1/2000或1/14/2000)。当日期小于8位时,面罩会拧紧。这是我的代码:

<asp:TextBox runat="server" ID="txtDateAvailable" Width="150px" maxlength="50"></asp:TextBox>
<asp:CalendarExtender ID="calDateAvailable" runat="server" TargetControlID="txtDateAvailable" format="d" PopupPosition="Right"></asp:CalendarExtender>
<asp:MaskedEditExtender ID="mskDateAvailable" runat="server" targetcontrolid="txtDateAvailable" Mask="99/99/9999" clearmaskonlostfocus="false" MaskType="None"></asp:MaskedEditExtender>

如果我能弄清楚如何将CalendarExtender的日期格式设置为MM / DD / YYYY,而不仅仅是修复它的M / D / YYYY。

2 个答案:

答案 0 :(得分:4)

Calendar Control有一个格式属性。用它来设置为

Format="MM/dd/yyyy"

答案 1 :(得分:0)

它的语法如下:Format="MM/dd/yyyy"并根据需要改变它,但你必须确保月份是大写的,否则它将返回我使用的零 -

<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1" 
    PopupButtonID="ImageButton1" Format="dd/MM/yy">