视觉网络部分 - 异步负载
-
16-10-2019 - |
题
我想创建视觉网络部分的异步负载。 (Web零件)背后的代码需要一些时间来加载数据,因此我认为以异步方式(在页面加载)中创建该数据。 ScriptManager放置在主页面中(AJAX支持已启用),因此我尝试使用ASP:UPDATE面板(+ Update Progress Control-在数据未加载时显示),但我不知道该如何进行回发,因为我没有任何应该触发的控制权来进行寄发后(我必须有任何(!),至少可以看到)。我找到了一些有关的文档 spg.ajaxsupport 但是VS2010的解决方案没有AjaxSupport的项目,并且VS2008的解决方案(Moss 2007)我无法打开,因为它需要一些我找不到的野生项目模板。
请有人可以给我一些有价值的信息(通过JavaScript或其他任何合理的方式)如何?还有人有SPG的二进制文件寄给我吗?
我的JavaScript代码(目前)看起来像:
<script language="javascript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
var postBackElement;
//fired when the update starts
function InitializeRequest(sender, args) {
postBackElement = args.get_postBackElement();
var mainPanel = document.getElementById('<%=panelMain.ClientID%>');
mainPanel.style.display = 'none';
}
//fired when the update ends
function EndRequest(sender, args) {
//Show your update panel here
}
</script>
解决方案
我想你想 在您的UpdatePanel内使用计时器.
例如(摘自文章):
<asp:UpdatePanel runat="server" id="UpdatePanel1">
<ContentTemplate>
<asp:Timer runat="server" id="Timer1" Interval="10000" OnTick="Timer1_Tick"></asp:Timer>
<asp:Label runat="server" Text="Page not refreshed yet." id="Label1">
</asp:Label>
</ContentTemplate>
</asp:UpdatePanel>