在日历扩展程序中选择特定月份作为默认值

时间:2012-03-22 11:11:32

标签: asp.net ajax

我有一个开始日期和结束日期字段。两者都有单独的ajax压延机扩展器。一旦我们在选择开始日期之后点击结束日期日历控件,我想在结束日期日历中显示与开始日期对应的相同月份。我们怎么做到这一点。我试过添加javascript函数onClientShown事件的日历扩展器;但没有成功。

基本思路是用户可以在endate文本框中选择大于开始日期的日期。

1 个答案:

答案 0 :(得分:2)

刚刚使用js-debugger查看CalendarExtender在客户端上有哪些属性和功能。找到了两件有趣的事情,OnClientShown事件和set_visibleDate函数:

<script type="text/javascript">
    function ApplyStartMonth(sender, args) {
        var calendarStart = $find('CalendarExtender1');
        sender.set_visibleDate(calendarStart._selectedDate);
        // the following is not needed here but good to know that they exist
        //sender.set_todaysDate(calendarStart._selectedDate);
        //sender.set_selectedDate(calendarStart._selectedDate);
    }
</script>

<asp:TextBox ID="TxtStart" runat="server" Text="22.03.2012"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" Format="dd.MM.yyyy" TargetControlID="TxtStart" /><br />
<asp:TextBox ID="TxtEnd" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" Format="dd.MM.yyyy" 
   OnClientShown="ApplyStartMonth" TargetControlID="TxtEnd" />