为什么UpdateProgress只持续了大概1分钟
我做了个例子,aspx的代码。很简单
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
等待................................
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
aaa
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"
style="height: 26px" />
CS的代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1200000);
}
}
但实际的运行结果是等待只出现了大概1分钟左右就消失了,实际上这时我跟了,还没Sleep完。
期待高手帮助,我在其它的项目中有类似的应用,所以很郁闷,不知错哪了,还是就是这样。
------解决方案--------------------sorry
上面那几个控件其实是通过封装Ajax实现的,而xmlHttpRequest其实也一个超时时间,timeout属性和ontimeout事件
你可以通过xmlHttpRequest+WCF实现长连接,也可以通过轮询[WebMethod]来显示进度,后者相对简单稳定