類似 Outlook 行程表:月曆介面,點選日期顯示/新增行程。

每個日期單元格渲染時觸發,在此從資料庫讀取該日期行程並動態修改單元格內容。
int[] dates = new int[999]; // 日期(1-31)
string[] titles = new string[999]; // 對應行程標題
// 範例:12 月 2 日有兩項,5 日一項
dates[0] = 2; titles[0] = "上午 10 點開會";
dates[1] = 2; titles[1] = "下午需求討論";
dates[2] = 5; titles[2] = "客戶系統演示";
// 0 代表無行程,作為迴圈結束判斷
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
for (int i = 0; dates[i] != 0; i++)
{
if (dates[i] == e.Day.Date.Day)
{
Label lbl = new Label();
lbl.Text = titles[i] + "<br/>";
e.Cell.Controls.Add(lbl);
}
}
}
完整 Demo 可於文末下載。