【发布时间】:2014-09-24 15:25:40
【问题描述】:
用户可以在文本框中输入日期或选择带有日历的日期。我使用一个文本框,其中用户输入日期,一个范围验证器(类型是日期)来验证用户的输入,日历扩展器作为日历,以及一个弹出日历的按钮。当用户输入两位数年份(如 2011 年 9 月 24 日)时,rangvalidator 认为是有效日期,但当我单击按钮时,日历扩展器显示今天。如何让日历扩展器跳转到正确的日期(2011 年 9 月 24 日)?
代码如下:
<div style="display:inline-table">
<div style="vertical-align:middle">
<asp:TextBox ID="txtDateTime" runat="server" CssClass="calInput" MaxLength="10" placeholder="MM/dd/yyyy"></asp:TextBox>
<asp:ImageButton ID="imgBtnShowCalendar" runat="server"
CssClass="calInput calImg" ImageUrl="~/images/calendar.gif"
onclick="imgBtnShowCalendar_Click" />
</div>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" Animated="false" Format="MM/dd/yyyy" TargetControlID="txtDateTime" PopupButtonID="imgBtnShowCalendar">
</cc1:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtDateTime" Display="Dynamic"
ErrorMessage="RequiredFieldValidator" Font-Names="Arial" Font-Size="12px"
ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" MinimumValue="1/1/1900"
MaximumValue="6/6/2079" Type="Date" ControlToValidate="txtDateTime"
runat="server" ErrorMessage="RangeValidator" Display="Dynamic"
Font-Names="Arial" Font-Size="12px" ForeColor="Red"></asp:RangeValidator>
</div>
【问题讨论】:
-
我没有使用CalendarExtender,所以只是提供一些想法。有一个 Format 属性,尝试设置为 Format="M/dd/yy"
-
我改成 Format = "M/dd/yy",但是当用户输入 4 位数年份时,calendarExtender 无法识别。
标签: asp.net