我正在运行一个检查新数据是否可用的线程。当新数据可用时,我想简单地运行JS警报,即alert("new data")
以在当前访问的页面上显示弹出消息。
我尝试了以下(在第二个线程中运行此代码):
//...
if(dataIsAvailable)
{
//...
HttpContext.Current.Response.Write("<script>alert('new data')</script>");
}
//...
但是由于以下原因我得到了例外:
System.Web.HttpContext.Current.**get** returned null.
如何在另一个线程中从该页面外部运行当前页面上的JS脚本?
谢谢
答案 0 :(得分:0)
这是不可能的。
您尝试执行的操作是向页面发送一些消息,但此线程上不再存在与该页面的连接 - 因此System.Web.HttpContext.Current
为空
映像...客户端要求页面,服务器发送此页面,客户端呈现它并关闭连接,没有更多要获取,没有更多要呈现。现在在服务器端运行一个线程,你有一些结果......但是没有输出发送它们。
也许你可以找到带有ajax调用的解决方案 - 或者只是删除线程并等待完成它。