我需要在按钮单击事件上运行一个循环(通过记录循环并采取一些行动),我想i
使用 UpdatePanel 显示当前循环计数器。它对我不起作用我通过网络搜索但数没有找到类似的例子。它lblCounter
在完成循环后显示循环计数器,而我需要显示lblCounter
每个计数器。
即使我必须延迟代码中显示的语句,最好的方法是什么。
下面的代码只是一个例子。如果有人可以帮助我解决这个例子,我将不胜感激。我实际上想遍历表中的每条记录并将电子邮件发送给所有用户。用户数不超过 200 0r 300。
在发送电子邮件时,我要使用已发送的电子邮件数量来更新客户端屏幕,这是我想要使用更新面板实现的基本功能。
标记:
<asp:Button ID="btnLoop" runat="server" Text="Start" onclick="btnLoop_Click" /><br />
<asp:UpdatePanel ID="updPanelNewsletterProgress" runat="server"
UpdateMode="Conditional" >
<ContentTemplate>
<asp:Label ID="lblCounter" runat="server" Text=""></asp:Label><br />
</ContentTemplate>
</asp:UpdatePanel>
代码:
protected void btnLoop_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100; i++)
{
System.Threading.Thread.Sleep(2000);
// take some action like send email to user XXX
lblCounter.Text = "Counter " + i.ToString() + " of 100";
}
}