ASP.NET 3.5/AJAX.NET --使用asp:Calendar控件實現日期選擇功能
您還在尋找一個使用AJAX.NET簡單的日期選擇控件實現您的日期選擇功能嗎?我也一直苦苦尋覓,但是最終還是自己寫了一個(參照了其它人的代碼)。
實現此功能代碼完全使用ASP.NET,沒有使用javasrcipt,下面是主要代碼,如果您需要在多處使用的話可以把它做成一個用戶控件。
在.asp文件中,代碼如下:(我使用了自己的日歷圖標,您可以在這里修改為您自己的)。
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:TextBox ID="requestedDeliveryDateTextBox" runat="server" Width="100" /> <asp:ImageButton id="imageButton" runat="server" ImageUrl="~/Images/IconCalendar.png" AlternateText="calendar" OnClick="ImageButton_Click" CausesValidation="false" /> <br /> <div id="calendar" class="calendar" visible="false" runat="server"> <asp:Calendar ID="requestedDeliveryDateCalendar" runat="server" OnSelectionChanged="RequestedDeliveryDateCalendar_SelectionChanged" /> </div> </ContentTemplate> </asp:UpdatePanel>
后台主要代碼如下:
/// <summary> /// 日期選擇圖標被點擊 /// </summary> protected void ImageButton_Click(object sender, EventArgs eventArgs) { 控制日歷的顯示與隱藏 calendar.Visible = !calendar.Visible; } /// <summary> /// 選擇日期,通過AJAX觸發 /// </summary> protected void RequestedDeliveryDateCalendar_SelectionChanged(object sender, EventArgs eventArgs) { requestedDeliveryDateTextBox.Text = requestedDeliveryDateCalendar.SelectedDate.ToShortDateString(); // 隱藏日歷 calendar.Visible = false; //設置日歷下textbox的焦點,方便用戶輸入。移除或改變下行代碼設置為您自己的控件 someTextBox.Focus(); }

