从 Web 应用程序中的线程更新控件标签

Update control label from thread in web application

delegate void SetTextCallback( string text );    

private void UpdateControl( string text ) {
        if ( this.myLabel.InvokeRequired ) {
            SetTextCallback d = new SetTextCallback( UpdateControl );
            this.Invoke( d, new object[] { text } );
        }
        else {
            this.myLabel.Text = text;
        }
}

我有一个 WinForm 应用程序,在这个应用程序中,我使用线程访问 UI 控件并更新它们。

现在,我想将此代码转换为 ASP.NET Web 表单,但是 InvokeRequiredInvoke 方法对 [=24] 不可用=]Web 表单.

Web FormsInvokeInvokeRequired 方法的等价物是什么,或者我如何实现和更新 UI 中的控件ASP.NET 网络表单

我使用这个UpdateControl的场景是我会post一些文件到一个文件夹。这些标签将显示正在发生的事情、正在发送的文件以及正在更新的数据库。

WinFormsWebForms UI 是完全不同的世界,在其他框架中重写 UI 时,您应该根据该框架的概念设计 UI而不仅仅是寻找等价物。

您似乎需要使用 javascriptjQuery 等库和 [=25] 等概念=]ajax 以获得您在 Windows Forms 应用程序中获得的内容。

Web 应用程序中此类任务的等效项可能是使用 javascript 在客户端中更改 UI,例如在计时器中或成功后ajax 电话或其他一些事件之后。

此外,如果您以某种方式使用 WbForms,您可以将此类任务与使用 UpdatePanel 或使用 Ajax Control Toolkit 更改为 UI。

对于在 Webforms 中上传文件的特定任务,您可以查看 AjaxFileUpload