如何在 运行 任务之后或任务 运行 期间更新 Asp .Net 中的 UI?
How to update UI in Asp .Net after running a Task or during task running?
我正在使用 asp .net webforms,我有一个生成 Excel 报告的按钮,这是一个很长的操作。
我希望在任务 运行 期间和任务完成后更新标签的文本。
按钮点击:
protected void btnExportExcel_Click(object sender, EventArgs e)
{
FetchAllFilesAsync(false);
}
调用函数:
private async Task FetchAllFilesAsync(bool isPDF = false)
{
await Task.Run(() => { DownLoadAllAsyncExcelAndPDFS(isPDF); });
}
任务功能
private void DownLoadAllAsyncExcelAndPDFS(bool isPDF = false)
{
//Do Some Work
}
async
on ASP.NET yields to the thread pool, not the HTTP client。您需要使用 AJAX、SignalR 或类似技术让服务器向客户端发送更新。
我正在使用 asp .net webforms,我有一个生成 Excel 报告的按钮,这是一个很长的操作。 我希望在任务 运行 期间和任务完成后更新标签的文本。
按钮点击:
protected void btnExportExcel_Click(object sender, EventArgs e)
{
FetchAllFilesAsync(false);
}
调用函数:
private async Task FetchAllFilesAsync(bool isPDF = false)
{
await Task.Run(() => { DownLoadAllAsyncExcelAndPDFS(isPDF); });
}
任务功能
private void DownLoadAllAsyncExcelAndPDFS(bool isPDF = false)
{
//Do Some Work
}
async
on ASP.NET yields to the thread pool, not the HTTP client。您需要使用 AJAX、SignalR 或类似技术让服务器向客户端发送更新。