如何在foreach语句中显示每个项目的Label1.Text?

时间:2010-05-09 07:03:52

标签: c# asp.net

我想在foreach语句中动态显示现在正在执行的每个项目ID。

但以下代码仅显示Label1.Text中的最后一项ID。

如何在foreach语句中为每个项目显示Label1.Text?

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

protected void Button1_Click(object sender, EventArgs e)
    {
        List<int> list = new List<int>()
        {
            1,2,3,4,5
        };

        foreach (var item in list)
        {
            Label1.Text = string.Format("I'm doing item {0} now.", item.ToString());
            Thread.Sleep(1 * 1000);
        }
    }

2 个答案:

答案 0 :(得分:2)

服务器将在将页面发送回用户之前对其进行处理。

要动态显示此信息,您需要在每个步骤完成后使用某种客户端回调获取临时更新。

答案 1 :(得分:1)

foreach (var item in list)
{
  Label1.Text += string.Format("I'm doing item {0} now.", item.ToString());
  Thread.Sleep(1 * 1000);
}