我正在尝试找到一种在 webforms 页面的 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 吗?