是否可以在 ajax 工具包日历扩展器中添加'None'选项?



我的页面中有一个<ajaxToolkit:CalendarExtender>对象。它将所选日期放在禁用的TextBox上(以今天日期开始填充)。我希望在该日历中有一个"无"选项,系统会对此进行默认操作(就像它有"今日"选项一样)。这可能吗?我在网上搜索了这方面的信息,但找不到任何相关的信息。我想知道我是不是错过了什么。或者我必须实现一个单独的逻辑(比如启用TextBox,用户可以将其留空作为"无"选择)?

有没有与ajax工具箱日历扩展程序不同的日历对象可以与提供"无"选项的asp.net一起使用?

我仍然对答案持开放态度,即使我认为这只是一个"不"(至少有一点记录)。

有两种选择:第一种是在textbox旁边添加一些html元素,并用javascript处理它的点击事件。在此事件处理程序中,清除日历扩展程序。这是一个代码:

 <script type="text/javascript">
      function clearDate(extenderId) {
           $find(extenderId).set_selectedDate(null);
      }
 </script>
<asp:TextBox runat="server" ID="Date1" autocomplete="off" />
<input type="button" value="x" onclick="clearDate('<%= defaultCalendarExtender.ClientID %>')" /> 
<br />
<ajaxToolkit:CalendarExtender ID="defaultCalendarExtender" runat="server" 
    TargetControlID="Date1" />

第二个解决方案是调整AjaxControlToolkit项目的来源。实际上,您只需要更改Client/MicrosoftAjax.Extended/Calendar/CalendarBehavior.pre.js文件。用下面的代码替换它。实际上有很多代码,因为我懒得一步一步地解释每一个更改;)简言之,我已经在日历弹出页脚中添加了新的元素,以将选定日期重置为默认选定值(如果已指定)或为空。您还可以调整CalendarBehavior.pre.js 旁边的Calendar.css文件

由于对大量答案的限制,我在pastebin上发布了javascript代码粘贴到链接

最新更新