很簡單。
首先,加入Ajax參考了沒? 看此 http://gdlion.blogspot.tw/2013/10/ajaxajaxcontroltoolkit.html
再來
1.Default.aspx 請加入下列註冊
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
<td style="width: 28%"> <asp:Label ID="lb_sdate" runat="server" Font-Size="Small" Text="自"></asp:Label> <asp:TextBox ID="txt_sdate" runat="server" AutoPostBack="False" Width="60px" MaxLength="8" style="margin-bottom: 0px"></asp:TextBox> <cc1:CalendarExtender ID="CalendarExtender1" runat="server" Format="yyyyMMdd" PopupButtonID="btn_calstart" TargetControlID="txt_sdate"> </cc1:CalendarExtender> <asp:ImageButton ID="btn_calstart" runat="server" ImageUrl="~/images/APPTL.ICO" CausesValidation="False" /> <asp:DropDownList ID="ddl_from" runat="server" Visible="False"> <asp:ListItem Selected="True" Value="0">0000</asp:ListItem> <asp:ListItem Value="1">0100</asp:ListItem> <asp:ListItem Value="2">0200</asp:ListItem> <asp:ListItem Value="3">0300</asp:ListItem> <asp:ListItem Value="4">0400</asp:ListItem> <asp:ListItem Value="5">0500</asp:ListItem> <asp:ListItem Value="6">0600</asp:ListItem> <asp:ListItem Value="7">0700</asp:ListItem> <asp:ListItem Value="8">0800</asp:ListItem> <asp:ListItem Value="9">0900</asp:ListItem> <asp:ListItem Value="10">1000</asp:ListItem> <asp:ListItem Value="11">1100</asp:ListItem> <asp:ListItem Value="12">1200</asp:ListItem> <asp:ListItem Value="13">1300</asp:ListItem> <asp:ListItem Value="14">1400</asp:ListItem> <asp:ListItem Value="15">1500</asp:ListItem> <asp:ListItem Value="16">1600</asp:ListItem> <asp:ListItem Value="17">1700</asp:ListItem> <asp:ListItem Value="18">1800</asp:ListItem> <asp:ListItem Value="19">1900</asp:ListItem> <asp:ListItem Value="20">2000</asp:ListItem> <asp:ListItem Value="21">2100</asp:ListItem> <asp:ListItem Value="22">2200</asp:ListItem> <asp:ListItem Value="23">2300</asp:ListItem> </asp:DropDownList> <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="check_date" ControlToValidate="txt_sdate" ErrorMessage="請輸入正確日期!" SetFocusOnError="True">*</asp:CustomValidator> </td> ============================ <td> <asp:Label ID="lb_end" runat="server" Font-Size="Small" Text="至"></asp:Label> <asp:TextBox ID="txt_edate" runat="server" AutoPostBack="False" Width="60px" MaxLength="8"></asp:TextBox> <cc1:CalendarExtender ID="CalendarExtender2" runat="server" Format="yyyyMMdd" PopupButtonID="btn_calend" TargetControlID="txt_edate"> </cc1:CalendarExtender> <asp:ImageButton ID="btn_calend" runat="server" ImageUrl="~/images/APPTL.ICO" CausesValidation="False" /> <asp:DropDownList ID="ddl_to" runat="server" Visible="False"> <asp:ListItem Value="1">0100</asp:ListItem> <asp:ListItem Value="2">0200</asp:ListItem> <asp:ListItem Value="3">0300</asp:ListItem> <asp:ListItem Value="4">0400</asp:ListItem> <asp:ListItem Value="5">0500</asp:ListItem> <asp:ListItem Value="6">0600</asp:ListItem> <asp:ListItem Value="7">0700</asp:ListItem> <asp:ListItem Value="8">0800</asp:ListItem> <asp:ListItem Value="9">0900</asp:ListItem> <asp:ListItem Value="10">1000</asp:ListItem> <asp:ListItem Value="11">1100</asp:ListItem> <asp:ListItem Value="12">1200</asp:ListItem> <asp:ListItem Value="13">1300</asp:ListItem> <asp:ListItem Value="14">1400</asp:ListItem> <asp:ListItem Value="15">1500</asp:ListItem> <asp:ListItem Value="16">1600</asp:ListItem> <asp:ListItem Value="17">1700</asp:ListItem> <asp:ListItem Value="18">1800</asp:ListItem> <asp:ListItem Value="19">1900</asp:ListItem> <asp:ListItem Value="20">2000</asp:ListItem> <asp:ListItem Value="21">2100</asp:ListItem> <asp:ListItem Value="22">2200</asp:ListItem> <asp:ListItem Value="23">2300</asp:ListItem> <asp:ListItem Selected="True" Value="24">2400</asp:ListItem> </asp:DropDownList> <asp:CustomValidator ID="CustomValidator2" runat="server" ClientValidationFunction="check_date" ControlToValidate="txt_edate" ErrorMessage="請輸入正確日期!" Display="Dynamic">*</asp:CustomValidator> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txt_edate" ControlToValidate="txt_sdate" ErrorMessage="起始日期不能大於結束日期" Operator="LessThanEqual">*</asp:CompareValidator> </td> |
再加上 驗證使用者手動輸入格式:
<script language="javascript" type="text/javascript"> function check_date(source, arguments) { var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var args = arguments.Value; var year = args.substr(0, 4); var month = args.substr(4, 2) - 1; //月份從0~11 var day = args.substr(6, 2); var source_date = new Date(year, month, day); if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) monthDays[1] = 29; //潤年 if (year != source_date.getFullYear() || month != source_date.getMonth() || day != source_date.getDate() || day > monthDays[month]) arguments.IsValid = false; else arguments.IsValid = true; } </script> |
完畢。
不知道什麼時候會看的 延伸閱讀:
- [Asp.net]Ajax CalendarExtender 入手
http://www.wretch.cc/blog/irirol/12478884
- 運用 AJAX calendarextender 的 OnClientDateSelectionChanged 觸發後台程序
http://eos45.pixnet.net/blog/post/48846478-%E9%81%8B%E7%94%A8-ajax-calendarextender-%E7%9A%84-onclientdateselectionchange
沒有留言:
張貼留言