【问题标题】:Cannot access controls like Textboxes, Labels via threads in ASP.NET application无法通过 ASP.NET 应用程序中的线程访问文本框、标签等控件
【发布时间】:2018-02-14 06:44:56
【问题描述】:

我目前正在开发一个 ASP.NET 应用程序。我需要通过非 UI 线程访问某些控件,如标签或文本框,但我无法这样做。有人能指出我正确的方向吗?即使Response.Write 似乎也不起作用。 非 UI Thred 是指工作线程,因为 UI 的加载通常由主线程完成。我需要我的工作线程能够访问标签或文本框等控件以更改其 .text 属性。

【问题讨论】:

  • 请分享代码..
  • 您为什么要尝试从 ASP.NET 应用程序访问 WinForm 控件?
  • 我需要通过在单独的工作线程上执行的方法将一些文本写入我的文本框:我已经尝试过 this TextBox2.Text = "ABC"; HttpContext.Current.Response.Write("ABC");但是网页的文本框上没有写任何东西
  • HTTP(Web)应用程序中的“非 UI 线程”是什么意思?
  • 你说“不能这样做”是什么意思,你得到一个例外吗?你得到预期的结果吗?

标签: c# asp.net multithreading


【解决方案1】:

或者,您可以使用BackgroundWorker 类在后台执行一些任务。

BackgroundWorker 将给出一个事件ProgressChanged,使用该事件在 UI 线程上写入/更新控件值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2014-01-12
    相关资源
    最近更新 更多