如何从委托AsyncCallback函数调用javascript函数?

时间:2010-12-29 16:05:00

标签: javascript asynchronous delegates callback

我从异步委托调用获取位置日期时间。我想将lable值设置为该委托方法返回的日期时间值。但问题是这是在异步方法完成之前呈现的。我不能等待这种异步方法,因为它使用非常慢的第三方服务。所以我已经实现了一个异步回调函数和inside that call back function I want to run a javascript script function。但问题是它没有填充javascript方法。这是我的代码 -

public void DateTimeCallBack(IAsyncResult asy)
    {            
        AsyncResult result = (AsyncResult)asy;
        DateTimeDelegate dtdel = (DateTimeDelegate)result.AsyncDelegate;
        lblDateTime.Text = dtdel.EndInvoke(asy).ToString("MMM dd, yyyy"); // this is not setting the value to lable
      //  so I want to use javascript
      ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptNo", "window.setTimeout(\"alert('Hello');\",0);", true);          
    }

这不是populatiog javascript警告消息.AsyncCallback方法不支持这种方式的javascript ??或者还有其他方法可以做同样的事情吗?

1 个答案:

答案 0 :(得分:2)

您没有从服务器端“调用”javascript函数。您将javascript输出到Web浏览器,然后Web浏览器执行服务器生成的脚本标记内的所有内容。我不确定你的代码是怎么做的,我甚至不确定你说的是什么语言(我猜它是C#),但你需要清楚地了解它们之间的区别。服务器端代码和客户端代码,以及它们如何交互 服务器端代码只生成浏览器将运行的javascript,它不能直接影响它的运行时。 同样,javascript也不能直接在服务器端“调用”函数,你只能发出HTTP GET或POST请求,然后由服务器端代码处理。