禁用Ajax日历中的未来日期选择

时间:2014-02-13 07:23:14

标签: c# asp.net ajax

我已尝试使用此代码禁用未来的日期,但似乎无法正常工作。

public void Calendar1_DayRender(object o, DayRenderEventArgs e)
{
    if (e.Day.Date < DateTime.Today)
    {
        e.Day.IsSelectable = false;
    }
}

1 个答案:

答案 0 :(得分:0)

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <link href="CSS.css" rel="stylesheet" type="text/css" />
    <script src="Extension.min.js" type="text/javascript"></script>

    <asp:TextBox ID="txtDate" runat="server" CssClass="disable_future_dates" />
    <asp:ImageButton runat="server" ID="imgPopup" ImageUrl="~/Calendar.png" />
    <cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtDate"
        PopupButtonID="imgPopup" />
    </form>
</body>
</html>

禁用未来日期

为了禁用未来日期,我们需要遵循两个简单的步骤。

  1. ScriptManager 下方添加CSS.cssExtension.min.js个文件,如上面的HTML标记所示。

  2. CssClass属性设置为disable_future_dates以获取与要禁用其日期的CalendarExtender关联的TextBox控件。

  3. 这就是你需要做的,你的AJAX CalendarExtender现在将禁用未来的日期。