【问题标题】:ASP.NET - Using checkbox from the calender controlASP.NET - 使用日历控件中的复选框
【发布时间】:2011-07-04 18:39:24
【问题描述】:

我正在使用日历控件实施休假系统。如下所示:-

以下是标记:-

<asp:Calendar ID="Calendar1" runat="server" ondayrender="Calendar1_DayRender" 
            ShowGridLines="True">
        </asp:Calendar>
        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem Value="vacation" Text="Vacation" />
            <asp:ListItem Value="sick" Text="Sick" />
            <asp:ListItem Value="training" Text="Training" />
        </asp:DropDownList>
        <asp:Button ID="Button1" runat="server" Text="Save" onclick="Button1_Click" />

以下是代码隐藏:-

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        if (!e.Day.IsOtherMonth && !e.Day.IsWeekend)
        {
            CheckBoxList list = new CheckBoxList();
            list.Items.Add(new ListItem("Half day"));
            list.Items.Add(new ListItem("Full day"));
            e.Cell.Controls.Add(list);
        }

    }

但是,我无法在 button_click 事件和 DayRender 事件中访问复选框值?有人可以帮忙吗?有没有更好的方法来实现这一点?

【问题讨论】:

    标签: asp.net calendar controls


    【解决方案1】:

    因为您没有将任何事件处理程序绑定到CheckBox,所以您也没有向我们展示您用于按钮单击的 java 脚本,所以我假设您想要运行服务器端代码而不是客户端 java 脚本。因此,不要使用用于客户端事件脚本的OnClick 属性,而应使用用于服务器端代码的Click 事件

    【讨论】:

    • 没有Javascript。日历外有一个按钮,我需要点击它来检索已检查的日期。