我在我的应用程序中使用AjaxToolKit Calendar Extender,因此用户可以选择他们的出生日期。大多数将使用该系统的用户将超过60岁,所以当文本框中没有文本时,我希望它显示为默认视图,我已将日历设置为以年模式打开,但我无法获得默认为过去60年的日期,相关文本框中没有任何内容。
我想要实现的是图片是什么,但当用户在文本框中不包含任何值时打开日历扩展器。
答案 0 :(得分:0)
您可以尝试使用日历的SelectedDate
属性,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
calendarExtender.SelectedDate = DateTime.Today.AddYears(-60);
...
}
答案 1 :(得分:0)
我知道没有明确的方法可以做到这一点,但是如果我们尝试了一些陪审团操纵和测试呢?
如果您使用上面的Cobra答案设置SelectedDate
,我认为它将默认为正确的日期范围。
现在,如果之后,在客户端,你做了一些JavaScript来清除TextBox
,我想知道CalendarExtender
是否仍会保留旧的日期范围?
使用jQuery,这是一个快速的脚本来完成它。假设TextBox
的{{1}}为ID
而txtDateOfBirth
设为ClientIDMode
。
Static
答案 2 :(得分:0)
@ccStars尝试DefaultView
,SelectedDate
和PopupButtonID
的组合。
DefaultView
:将带您进入已经完成的年份模式。
SelectedDate
:将设置日历初始化的日期,
PopupButtonID
:控件的ID,用于在单击时显示日历弹出窗口。如果未设置此值,则在文本框获得焦点时会弹出日历。因此,在文本框旁边有一个小日历图标并提供其ID。这将解决您在日历中选择日期时获取日期的问题。
以上是服务器端属性。您感兴趣的客户端属性是:
selectedDate
和visibleDate
:区别在于selectedDate
是文本框所代表的值,但visibleDate
是日历中当前可见的日期。
此处提供更多信息:http://www.asp.net/ajaxlibrary/act_calendar_reference.ashx