从 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 表单,但是 InvokeRequired
和 Invoke
方法对 [=24] 不可用=]Web 表单.
Web Forms 中 Invoke
、InvokeRequired
方法的等价物是什么,或者我如何实现和更新 UI 中的控件ASP.NET 网络表单
我使用这个UpdateControl
的场景是我会post一些文件到一个文件夹。这些标签将显示正在发生的事情、正在发送的文件以及正在更新的数据库。
WinForms
和 WebForms
UI 是完全不同的世界,在其他框架中重写 UI 时,您应该根据该框架的概念设计 UI而不仅仅是寻找等价物。
您似乎需要使用 javascript、jQuery 等库和 [=25] 等概念=]ajax 以获得您在 Windows Forms 应用程序中获得的内容。
Web 应用程序中此类任务的等效项可能是使用 javascript 在客户端中更改 UI,例如在计时器中或成功后ajax 电话或其他一些事件之后。
此外,如果您以某种方式使用 WbForms
,您可以将此类任务与使用 UpdatePanel 或使用 Ajax Control Toolkit 更改为 UI。
对于在 Webforms 中上传文件的特定任务,您可以查看 AjaxFileUpload
。
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 表单,但是 InvokeRequired
和 Invoke
方法对 [=24] 不可用=]Web 表单.
Web Forms 中 Invoke
、InvokeRequired
方法的等价物是什么,或者我如何实现和更新 UI 中的控件ASP.NET 网络表单
我使用这个UpdateControl
的场景是我会post一些文件到一个文件夹。这些标签将显示正在发生的事情、正在发送的文件以及正在更新的数据库。
WinForms
和 WebForms
UI 是完全不同的世界,在其他框架中重写 UI 时,您应该根据该框架的概念设计 UI而不仅仅是寻找等价物。
您似乎需要使用 javascript、jQuery 等库和 [=25] 等概念=]ajax 以获得您在 Windows Forms 应用程序中获得的内容。
Web 应用程序中此类任务的等效项可能是使用 javascript 在客户端中更改 UI,例如在计时器中或成功后ajax 电话或其他一些事件之后。
此外,如果您以某种方式使用 WbForms
,您可以将此类任务与使用 UpdatePanel 或使用 Ajax Control Toolkit 更改为 UI。
对于在 Webforms 中上传文件的特定任务,您可以查看 AjaxFileUpload
。