【发布时间】:2011-04-25 14:04:00
【问题描述】:
我的页面上有一个 UpdatePanel 控件,其中包含一些需要与 JQuery 控件关联的 ASP.NET 控件(DatePicker、TimePicker ...):
<script language="javascript" type="text/javascript">
function $(LoadDateAndTimePickers() {
$("#" + '<%=fromDateTextBox.ClientID%>').datepicker();
$("#" + '<%=toDateTextBox.ClientID%>').datepicker();
$("#" + '<%=fromTimeTextBox.ClientID%>').timepicker({ showPeriod: true });
$("#" + '<%=toTimeTextBox.ClientID%>').timepicker({ showPeriod: true }));
};
</script>
这在 IE 上运行良好。但是,这在 Chrome 和 FireFox 上不起作用,因为我的 ASP.NET 控件位于 UpdatePanel 内。
所以,我已经处理了UpdatePanel 中的Sys.WebForms.PageRequestManager endRequest 事件,以便能够使其在上述浏览器上运行。
<asp:UpdatePanel ID="updatePanel" runat="server">
<ContentTemplate>
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().
add_endRequest(LoadDateAndTimePickers)
</script>
.....
</asp:UpdatePanel>
效果很好。但是,在其他页面上,我将我的 ASP.NET 控件放置在 UpdatePanel 内的 *AJAX ToolKit * TabContainer 控件中。即使我将处理脚本放在TabContainer 控件中,这里endRequest 处理也会停止工作。
感谢您的帮助..
【问题讨论】:
-
我已编辑问题以包含将 JQuery 控件与 ASP.NET 控件相关联的脚本。