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