私の 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
呼び出されるたびに新しいラベルを作成しようとしました。しかし、私の試みはどれも違いを生むようには見えません。どんな助けでも大歓迎です。