0

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

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

在此处输入图像描述

4

3 回答 3

0

您可以尝试使用日历的SelectedDate属性,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
  calendarExtender.SelectedDate = DateTime.Today.AddYears(-60);
  ...
}
于 2013-07-05T14:59:16.657 回答
0

@ccStars 尝试组合DefaultView,SelectedDatePopupButtonID.

DefaultView:将带您进入您已经完成的年份模式。 SelectedDate:将设置日历初始化的日期, PopupButtonID控件的 id 以在单击时显示日历弹出窗口。如果没有设置这个值,当文本框获得焦点时会弹出日历。所以在你的文本框旁边有一个小日历图标并给出它的 ID。这将解决您仅在日历中选择日期时获取日期的问题。

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

selectedDatevisibleDate: 不同之处在于selectedDate是文本框表示的值,而是visibleDate当前在日历中可见的日期。

更多信息在这里:http ://www.asp.net/ajaxlibrary/act_calendar_reference.ashx

于 2013-07-09T10:38:48.897 回答
0

我知道没有明确的方法可以做到这一点,但是如果我们尝试一些陪审团操纵和测试呢?

如果您在SelectedDate上面设置使用 Cobra 的答案,我假设它将默认为正确的日期范围。

现在,如果之后,在客户端,你做了一些 JavaScript 来清除TextBox,我想知道是否CalendarExtender还会保留旧的日期范围?

使用 jQuery,这里有一个快速的脚本来做到这一点。假设TextBox's IDistxtDateOfBirth和 the ClientIDModeis 设置为Static

$('#txtDateOfBirth').val('');
于 2013-07-08T19:43:30.800 回答