目前我正在开发一个 Asp.Net 应用程序。它有一个 Asp.Net Calendar 控件和 OnDayRender() 方法,我在其中动态添加 Checkbox 控件。我也附加了 CheckedChanged 事件处理程序。但是,每当我单击复选框时,它都不会调用服务器端 CheckedChanged() 方法。任何帮助将不胜感激。谢谢。
ASP.NET 代码:
<div>
<asp:Calendar
ID="Calendar1"
runat="server"
NextPrevFormat="FullMonth"
ForeColor="WhiteSmoke"
SelectionMode="Day"
DayNameFormat="Full"
Font-Names="Book Antiqua"
Font-Size="Medium"
OnDayRender="Calendar1_DayRender">
</asp:Calendar>
</div>
服务器端:
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
CheckBox checkBox1 = new CheckBox();
checkBox1.AutoPostBack = true;
checkBox1.Width = 25;
checkBox1.Enabled = false;
checkBox1.CheckedChanged = checkBox1_CheckedChanged;
e.Cell.Controls.AddAt(1, checkBox1);
e.Cell.Font.Size = FontUnit.XLarge;
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
// Do some operation...
}