我有以下代码使用 ASP Repeater Control 创建表格:
<asp:Repeater ID="Reptr" OnItemDataBound="Reptr_ItemDataBound" runat="server" Visible="False">
<HeaderTemplate>
<table>
<tr>
<td>
Start Date
</td>
<td>
End Date
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:TextBox ID="Start" Text='<%# Convert.ToDateTime(Eval("StartDate")).ToShortDateString() %>' ReadOnly="true" runat="server"></asp:TextBox>
<act:CalendarExtender ID="CalendarStart" PopupButtonID="DatePickerStart" TargetControlID="Start" onDateSelectionChanged = "checkDate" runat="server"><act:CalendarExtender>
<asp:ImageButton ID="DatePickerStart" ImageUrl="~/Images/calendar.gif" runat="server" />
</td>
<td>
<asp:TextBox ID="End" Text='<%# Convert.ToDateTime(Eval("EndDate")).ToShortDateString() %>' ReadOnly="true" runat="server"></asp:TextBox>
<act:CalendarExtender ID="CalendarEnd" PopupButtonID="DatePickerEnd" TargetControlID="End" onDateSelectionChanged = "checkDate" runat="server"></act:CalendarExtender>
<asp:ImageButton ID="DatePickerEnd" ImageUrl="~/Images/calendar.gif" runat="server" />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td>
<asp:TextBox ID="Start" Text='<%# Convert.ToDateTime(Eval("StartDate")).ToShortDateString() %>' ReadOnly="true" runat="server"></asp:TextBox>
<act:CalendarExtender ID="CalendarStart" PopupButtonID="DatePickerStart" TargetControlID="Start" onDateSelectionChanged = "checkDate" runat="server"><act:CalendarExtender>
<asp:ImageButton ID="DatePickerStart" ImageUrl="~/Images/calendar.gif" runat="server" />
</td>
<td>
<asp:TextBox ID="End" Text='<%# Convert.ToDateTime(Eval("EndDate")).ToShortDateString() %>' ReadOnly="true" runat="server"></asp:TextBox>
<act:CalendarExtender ID="CalendarEnd" PopupButtonID="DatePickerEnd" TargetControlID="End" onDateSelectionChanged = "checkDate" runat="server"></act:CalendarExtender>
<asp:ImageButton ID="DatePickerEnd" ImageUrl="~/Images/calendar.gif" runat="server" />
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
如需快速参考,以下是上述代码的输出方式,如下图所示:
此序列将包含两行以上的开始和结束日期。行数不固定,并且可以根据一些其他事物的选择而变化(即,它们被动态加载到转发器控制表中)。这些单元格中的数据由 DataSource 中的 DataBinding 填充。
此外,表格中的日期将在显示时填充。验证仅在更改任何日期时发生。
我试图在 CalendarExtender 的日期更改中加入以下验证:
我在 aspx 页面中使用以下代码验证了过去的日期:
function checkDate(sender, args) {
if (sender._selectedDate < new Date()) {
alert("You cannot select a day earlier than today!");
sender._selectedDate = new Date();
sender._textbox.set_Value(sender._selectedDate.format(sender._format));
}
}
但我不能从onSelectedDateChanged()
调用多个函数。我有以下疑问: