C# 日历控件,DayRender函数未执行

C# 日历控件,DayRender函数未执行,c#,asp.net,visual-studio,calendar-control,C#,Asp.net,Visual Studio,Calendar Control,我的aspx页面中有一个日历,如下所示: <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar> 后面的代码非常简单 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { Response.Write("test"); if (!e.Day.IsToday) {

我的aspx页面中有一个日历,如下所示:

<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>

后面的代码非常简单

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
   {

    Response.Write("test");
    if (!e.Day.IsToday)
    {
        Label aLabel = new Label();
        aLabel.Text = " <br>test";
        e.Cell.Controls.Add(aLabel);
        date.Text = e.Day.ToString();
    }     
}
受保护的无效日历1\u DayRender(对象发送方,DayRenderReventArgs e)
{
响应。写入(“测试”);
如果(!e.Day.IsToday)
{
Label aLabel=新标签();
阿拉贝尔文本=“
测试”; e、 Cell.Controls.Add(阿拉贝尔); date.Text=e.Day.ToString(); } }

我的最终目标是从数据库中为事件添加文本,但目前我甚至无法执行函数本身。response.writes不在页面上,并且“test”一词不会出现在除今天之外的所有日期上(据我所知,这是应该发生的)。

DayRender事件要求映射事件处理程序。您还没有在代码中显示这一点。您需要在
Page\u Init
事件(不是页面构造函数)期间添加此项:


daydrender
事件要求映射事件处理程序。您还没有在代码中显示这一点。您需要在
Page\u Init
事件(不是页面构造函数)期间添加此项:


您可以按如下方式注册渲染方法,并为注册保存编写代码:

<asp:Calendar ID="Calendar1" OnDayRender="Calendar1_DayRender" runat="server">
</asp:Calendar>

由于DayRender事件是在呈现日历控件时引发的,因此不能添加也可以引发事件的控件,如LinkButton。只能添加静态控件,如System.Web.UI.LiteralControl、Label、Image和HyperLink

更新:


您可以按如下方式注册渲染方法,为注册保存编写代码:

<asp:Calendar ID="Calendar1" OnDayRender="Calendar1_DayRender" runat="server">
</asp:Calendar>

由于DayRender事件是在呈现日历控件时引发的,因此不能添加也可以引发事件的控件,如LinkButton。只能添加静态控件,如System.Web.UI.LiteralControl、Label、Image和HyperLink

更新:

**
在源代码视图中
--------------
**
在代码视图中
------------
受保护的void DayRender(对象发送方,DayRenderReventArgs e)
{
如果(e.Day.Date
**
在源代码视图中
--------------
**
在代码视图中
------------
受保护的void DayRender(对象发送方,DayRenderReventArgs e)
{
如果(e.Day.Date
除了在代码中,这是否完成了与上面相同的事情?除了在代码中,这是否完成了与上面相同的事情?但是在我的Ajax控件工具箱中没有这样的事件。如何获取DayRender事件?但是在我的Ajax控件工具箱中没有这样的事件。如何获取DayRender事件?
        **

        In source View
        --------------

        **

        <asp:Calendar runat="server" ID="cld_date_required" BackColor="White" BorderColor="#999999"CellPadding="4" DayNameFormat="Shortest"
 Font-Names="Arial" Font-Size="8pt" ForeColor="Black" 
 OnDayRender="DayRender" Height="180px" Width="270px"></asp:Calender>


        In Code View
        ------------


     protected void DayRender(object sender, DayRenderEventArgs e)
            {
                if (e.Day.Date < System.DateTime.Today)
                {
                    e.Day.IsSelectable = false;
                    e.Cell.ForeColor = System.Drawing.Color.LightGray;
                }
            }