通常、完了までに約 15 分かかるサーバー操作があります。操作中に操作のさまざまな段階をユーザーに伝えたいと思います。
ここに私のフォームコードがあります:
<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>
...そして私の tick イベントハンドラ:
protected void Timer1_Tick(object sender, EventArgs e)
{
lbl_Status.Text = labelText;
lbl_Status.ForeColor = labelColor;
}
ユーザーが更新ボタンをクリックしている間、ブラウザはサーバーの応答を待ってスタックします。これにより、ラベルが更新されません。
これをどのように修正すればよいですか? iframe を使用する必要がありますか?