Asp.net 如何在很长的服务器操作期间更新状态标签?
我有一个服务器操作,通常需要大约15分钟才能完成。我想在操作过程中向用户传达操作的各个阶段 这是我的表格代码:Asp.net 如何在很长的服务器操作期间更新状态标签?,asp.net,ajax,webforms,Asp.net,Ajax,Webforms,我有一个服务器操作,通常需要大约15分钟才能完成。我想在操作过程中向用户传达操作的各个阶段 这是我的表格代码: <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > <ContentTemplat
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="300" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="lbl_Status" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:FileUpload ID="upl_UserList" runat="server" />
<p>
<asp:Button ID="btn_Update" runat="server" Text="Update Users"
onclick="btn_Update_Click" />
</p>
</form>
在用户单击“更新”按钮的过程中,浏览器会被卡住,等待服务器响应。这会导致标签不更新
我应该如何解决这个问题,我应该使用iFrame吗?添加此代码
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
在“更新”面板后放置代码并移动计时器:
<asp:Timer ID="Timer1" runat="server" Interval="300" ontick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="lbl_Status" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
尝试将处理转移到单独的服务,在web请求中运行15分钟的处理是个坏主意。我认为最终这将是一个自动功能,不需要用户输入。目前,我们正在使用一个控件来调试脚本。
<asp:Timer ID="Timer1" runat="server" Interval="300" ontick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="lbl_Status" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>