页面加载后运行循环 VB.NET

Posted

技术标签:

【中文标题】页面加载后运行循环 VB.NET【英文标题】:Run loop after page load VB.NET 【发布时间】:2014-01-24 13:37:58 【问题描述】:

我想加载页面,然后我会显示一个正在加载数据的 GIF,然后我希望这个循环(见下文)一直运行到行数不为 0。

(上一页触发了一个 SQL 作业,运行大约需要 1-2 分钟,所以我想在新数据出现在数据库中时自动显示它。)

我不知道如何以编程方式让它工作,我知道因为我在 page_load 中有它,它会在页面加载之前运行,但我不确定如何在页面加载后运行它

非常欢迎任何帮助、建议或提示 谢谢

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
    Do While GridView1.Rows.Count = 0 And GridView2.Rows.Count = 0
        GridView1.DataBind()
        GridView2.DataBind()
    Loop
End Sub

【问题讨论】:

我认为您需要了解 ASP.NET 中的页面生命周期,尤其是浏览器在处理完所有页面之前不会完成“加载”这一事实。正如 Chris 在他的“答案”中所暗示的那样,您应该查看 AJAX... 手动通过 jquery/javascript 或通过 ASP.NET 中的 <asp:UpdatePanel> 【参考方案1】:

如果使用 Ajax/JQuery,您是否可以不使用每秒钟回发一次的计时器控件,一旦两个表中都有数据,然后禁用计时器。

【讨论】:

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs) Timer1.enabled = (GridView1.Rows == 0) || (GridView2.Rows == 0) End Sub 非常感谢,我会考虑实现类似的东西

以上是关于页面加载后运行循环 VB.NET的主要内容,如果未能解决你的问题,请参考以下文章

在 chrome 控制台中重新加载后如何保持循环?

ASP.NET/VB.NET/SQL Server 2012 - 页面不断加载

vb.net 循环查询结果

关于VB.NET中进度条使用问题

VB.NET 更新DataGridView资料到Mysql

VB.Net:循环所有表单项,包括 CommonDialogs