asp.net
C#
我们的网页目前包含一个相当大的网络应用,在尝试导航到它时会导致长时间的延迟。我目前正在实施一个使用ajax的WCF网络服务,但延迟是我的雇主所关心的,因此他希望同时进行快速而肮脏的修复。
我想加载空页面,然后使用计时器加载内容。这将减少感知的页面加载时间,但我不确定如何完成它。
非常感谢任何帮助
肖恩
答案 0 :(得分:1)
一些代码可以帮助您入门:
在asp.net页面中:
<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="1">
</asp:Timer>
<asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
.... your stuff here
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="100">
<ProgressTemplate>
Please wait...
</ProgressTemplate>
</asp:UpdateProgress>
在背后的代码中:
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Timer1.Enabled = false;
StartLongRunningTask();
}
答案 1 :(得分:0)
您可以使用Response
来刷新Response.Flush()
,而不是计时器。