如何使用辅助线程修改标签?

时间:2015-06-11 18:59:01

标签: c# asp.net multithreading

我有一个ASP.NET页面,它可以进行Web服务调用并获得一个带有数据的响应,其中一点就是基本上进行测试调用以监视服务是启动还是关闭。由于有很多调用,我决定在他们自己的线程上运行它们,并在完成并返回后用响应值更新网页上的UI。

我之前在Windows窗体应用程序中使用this.Invoke方法让主线程然后更新标签文本,但通过我的搜索,我没有在ASP中找到类似的方法。我看到服务返回响应,更新标签文本的代码在每个辅助线程上运行,但没有标签文本发生变化。

有没有其他方法可以更改主线程上创建的标签文本,使用类似于Invoke所做的辅助线程?

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找执行AJAX的电话。如果您使用的是ASP.NET Web窗体,则需要使用UpdatePanelScriptManager控件启用部分页面更新。

Take a look at Microsoft's introduction to the UpdatePanel control

如果您正在使用MVC或SignalR,还有其他方法可以做到这一点,但我假设您作为WinForms开发人员可能使用WebForms。