我有一个asp.net网页,它做了一堆(很慢,这就是问题所在)的计算,并将它们全部转储到网页中的数据网格中。我希望能够让页面显示部分结果。
我已经知道了如何在每次完成一行的时候重新更新网格,但是页面在所有计算完成之前仍然不会显示结果。有没有人知道来自asp.net的一个呼叫,它可以告诉页面刷新自己?
附注:我目前使用的更新函数如下:
private void updateDisplay(DataTable outputTable)
{
if (outputTable.Rows.Count > 0)
{
PlaceHolder1.Controls.Clear();
PlaceHolder1.Controls.Add(new LiteralControl("<br>"));
GridView myView = new GridView();
myView.DataSource = outputTable;
myView.DataBind();
myView.Visible = true;
PlaceHolder1.Controls.Add(myView);
}
}发布于 2010-07-07 01:52:10
你可以总是使用像Ajax Timer这样的东西和一些efficient paging (只提取少量的数据而不是所有的数据)。
这样,您可以每隔3秒对10条记录执行一条简短的select语句,并且在进程线程之外执行。
如果您希望保持每次添加一行时更新网格的方式,那么这也没问题,只需确保在单独的BackgroundWorker中启动大任务,提升进程即可。我仍然会实现更高效的分页,以保持select语句的小巧和流线型。
https://stackoverflow.com/questions/3188819
复制相似问题