AjaxToolKitCalendarExtender设置初始视图日期

时间:2013-07-05 14:54:18

标签: c# asp.net ajaxcontroltoolkit

我在我的应用程序中使用AjaxToolKit Calendar Extender,因此用户可以选择他们的出生日期。大多数将使用该系统的用户将超过60岁,所以当文本框中没有文本时,我希望它显示为默认视图,我已将日历设置为以年模式打开,但我无法获得默认为过去60年的日期,相关文本框中没有任何内容。

我想要实现的是图片是什么,但当用户在文本框中不包含任何值时打开日历扩展器。

enter image description here

3 个答案:

答案 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}}为IDtxtDateOfBirth设为ClientIDMode

Static

答案 2 :(得分:0)

@ccStars尝试DefaultViewSelectedDatePopupButtonID的组合。

DefaultView:将带您进入已经完成的年份模式。 SelectedDate:将设置日历初始化的日期, PopupButtonID控件的ID,用于在单击时显示日历弹出窗口。如果未设置此值,则在文本框获得焦点时会弹出日历。因此,在文本框旁边有一个小日历图标并提供其ID。这将解决您在日历中选择日期时获取日期的问题。

以上是服务器端属性。您感兴趣的客户端属性是:

selectedDatevisibleDate:区别在于selectedDate是文本框所代表的值,但visibleDate是日历中当前可见的日期。

此处提供更多信息:http://www.asp.net/ajaxlibrary/act_calendar_reference.ashx