Asp.net 仅将ajax日历扩展程序绑定到特定的月份和年份

Asp.net 仅将ajax日历扩展程序绑定到特定的月份和年份,asp.net,ajax,calendar,ajaxcontroltoolkit,Asp.net,Ajax,Calendar,Ajaxcontroltoolkit,我有两个日历扩展器,我想限制它们。当用户从year drowdown列表和month from month下拉列表中选择任何年份时,日历扩展程序应仅显示所选月份和年份的日期,并且不允许使用从日历扩展程序中选择任何其他月份和年份。例如,如果我分别从年和月下拉列表中选择年=2011和月=9月,然后,两个日历扩展器都应该显示2011年9月至10月1日的日期,我应该只允许从这些日期中选择日期,不允许选择任何其他日期。我不想使用Jquery。我相信您可以使用以下方法(快速且非常脏):将下面的脚本和样式添加

我有两个日历扩展器,我想限制它们。当用户从year drowdown列表和month from month下拉列表中选择任何年份时,日历扩展程序应仅显示所选月份和年份的日期,并且不允许使用从日历扩展程序中选择任何其他月份和年份。例如,如果我分别从年和月下拉列表中选择年=2011和月=9月,然后,两个日历扩展器都应该显示2011年9月至10月1日的日期,我应该只允许从这些日期中选择日期,不允许选择任何其他日期。我不想使用Jquery。

我相信您可以使用以下方法(快速且非常脏):将下面的脚本和样式添加到页面上:

<style type="text/css" >
     div.ajax__calendar_prev,
     div.ajax__calendar_next,
     div.ajax__calendar_today
     {
          display: none !important;
     }
</style>
<script type="text/javascript">
     function pageLoad() {
          var extender = $find("calendarExtenderBehaviorID");
          extender._switchMode = function () { };
     }
</script>

div.ajax\u日历\u上一页,
div.ajax\u日历\u下一步,
div.ajax\u日历\u今天
{
显示:无!重要;
}
函数pageLoad(){
var extender=$find(“CalendarExtender行为ID”);
extender.\u switchMode=function(){};
}
这将禁止日历模式切换,并隐藏可能用于更改月份和年份的元素

此外,您还需要将RangeValidator附加到目标文本框以检查所选日期值。 在下拉列表的选定索引更改事件处理程序中,您需要设置日历扩展程序选定的日期,并根据选定的年份和月份设置范围验证程序的最小值和最大值

作为替代方案,您可以使用CustomValidator并在javascript中执行所有检查和分配