有两个选项可用:第一个是在文本框旁边添加一些 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
文件。用下面的代码替换它。实际上有很多代码,因为我懒得逐步解释每个更改;)简而言之,我已将新元素添加到日历弹出页脚以将选定日期重置为默认选定值(如果已指定)或 null . 您还可以调整CalendarBehavior.pre.js旁边的Calendar.css文件
由于对大量答案的限制,我在
pastebin Pastebin 链接上发布了 javascript 代码