CalendarExtender 讓 TextBox 獲得日期選擇功能:使用者可直接輸入,或點擊旁邊的圖示彈出行事曆挑選日期,支援自訂格式與本地化。
<asp:TextBox ID="txtBookingDate" runat="server" CssClass="textbox"></asp:TextBox>
<img id="img1" src='<% = ResolveUrl("~/Image/Calendar.gif") %>' border="0" />
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txtBookingDate"
PopupButtonID="img1"
Format="yyyy-MM-dd">
</ajaxToolkit:CalendarExtender>
| 屬性 | 說明 | 範例值 |
|---|---|---|
TargetControlID | 綁定的 TextBox ID | txtBookingDate |
PopupButtonID | 觸發行事曆的按鈕/圖片 ID | img1 |
Format | 日期顯示格式 | yyyy-MM-dd |
FirstDayOfWeek | 週起始日 | Monday / Sunday |
EnabledOnClient | 是否啟用客戶端行為 | true / false |
StartDate、EndDate 屬性(需在代碼後端指派 DateTime 值)。.ajax__calendar_container 等 CSS 類別,調整字體、顏色、邊框。web.config 設定 globalization culture 即可自動切換。ToolkitScriptManager 是否存在、PopupButtonID 控制項是否正確渲染、是否有 JS 錯誤阻擋。Format 需符合 .NET 自訂日期格式字串規則,且與伺服器端解析格式一致。UpdatePanel 內,需確保 CalendarExtender 也在同一 Panel,或使用 Triggers 更新。HTML5 <input type="date"> 提供原生日期選擇器,無需額外腳本:
<asp:TextBox ID="txtDate" runat="server" TextMode="Date" />
或整合輕量級函式庫(如 flatpickr、datepicker),功能更豐富且不依賴 Toolkit。