0

在 ASP.NET Web 窗体中

如何在后台运行 sql 命令并且仍然使用控件并且用户界面在命令返回结果之前不会冻结...我在 Windows 应用程序中阅读了 BackgroundWorker ..如何在 asp.net webForms 中使用它..

4

2 回答 2

0

只需在 DoWork() 中输入要在后台运行的代码并调用 runworkerasync()

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    //type the instruction here you want to run
}

private void btnStartBgWoker_click(object sender, EventArgs e)
{
    //Run the background code
    backgroundWorker1.RunWorkerAsync();
}
于 2013-10-21T08:41:33.870 回答
0

对于后台的 sql 命令,您可以使用 UpdatePanel 异步运行代码。ASPX 页面标记:

<asp:ScriptManager ID="sm" runat="server" />
<asp:UpdatePanel ID="upPanel" runat="server">
    <ContentTemplate>
        <asp:Button ID="btnShow" runat="server" Text="Show me text later" OnClick="btnShow_Click" />
        <p id="ptext" runat="server"></p>
    </ContentTemplate>
</asp:UpdatePanel>

在代码隐藏文件中:

protected void btnShow_Click(object sender, EventArgs e)
{
    System.Threading.Thread.Sleep(5000);
    ptext.InnerText = "5 seconds past";
}
于 2013-10-21T08:50:23.067 回答