ユーザーのページ読み込みをブロックせずに、Web フォーム ページの Page_Load メソッドで非同期メソッドを実行する方法を見つけようとしています。私は次のコードを使用しています:-
C# コードビハインド
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterAsyncTask(new PageAsyncTask(AsyncDatabind));
}
private async Task AsyncDatabind()
{
await Task.Delay(5000);
Test.Text = "Hello!";
}
}
ASPX ビュー
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AsyncTest._Default" Async="true"%>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:Label ID="Test" runat="server"></asp:Label>
</asp:Content>
理想的には、ユーザーのためにページが読み込まれ、非同期タスクが完了した後にラベルが更新されます。そのため、ラベル テキストが設定される前に、ページが 5 秒間表示されている必要があります。これは PageAsyncTask を使用して可能ですか?