在我的 C# ASP.NET 项目中,我有一个后台线程来进行一些处理。我想在后台进程开始和结束时向用户显示。为此,在后台代码中我有:
public static void RefreshNavigationElements()
{
TimeInfoEventArgs timeInformation = new TimeInfoEventArgs("WPALoading has started");
WorkProductAgreements.OnSecondChange(timeInformation);
WPA_Supers.Clear();
PopulateWPAs();
timeInformation.myMessage = "WPALoading has ended";
WorkProductAgreements.OnSecondChange(timeInformation);
}
监听事件的代码:
public void TimeHasChanged(TimeInfoEventArgs ti)
{
Label11.Text = ti.myMessage;
System.Diagnostics.Debug.WriteLine(ti.myMessage);
}
调试器中的单步调试表明该TimeHasChanged
函数在适当的时间被调用,其中包含正确的文本ti
。该Debug.WriteLine
命令输出正确的消息。但是Label11
页面上的文字没有改变。
在我对事物的理解不是很深的情况下,我认为我只需要触发页面刷新或类似的事情,但我一生都无法弄清楚如何做到这一点。
我试过把Label
里面放一个UpdatePanel
. 每次TimeHasChanged
被调用时,我都尝试创建一个新标签。但我的任何尝试似乎都没有任何区别。任何帮助将不胜感激。