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(); }