我有一个 asp.net 网站,其中包含一个从 WCF 服务获取一些数据的线程。该线程在无限循环中运行,每次运行等待 1 秒。现在我想在一个标签中显示它从 WCF 服务获得的东西。我将该标签添加到 UpdatePanel 并调用 .Update() 方法。我没有得到任何例外,但是,标签根本没有更新。这是我的代码(简化):
t = new Thread(new ThreadStart(() =>
{
while (true)
{
Label1.Text = GetFromWCF() + " " + DateTime.Now.ToString();
updatePanel.Update();
Thread.Sleep(1000);
}
}
));
t.IsBackground = true;
t.Start();
此代码在页面的 OnInit 方法中。更新面板如下所示:
<asp:ScriptManager runat="server" ID="scriptManager" EnablePartialRendering="true"/>
<asp:UpdatePanel runat="server" ID="updatePanel" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
我错过了什么吗?也许我还应该告诉你,我对 asp.net 很陌生。