Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在从基页的异步回发上注入javascript_Javascript_Asp.net_Ajax - Fatal编程技术网

在从基页的异步回发上注入javascript

在从基页的异步回发上注入javascript,javascript,asp.net,ajax,Javascript,Asp.net,Ajax,我们的应用程序中有一个所有其他页面都源自的基页。我们已经在数据库中为每个页面请求插入了一条记录,以跟踪应用程序使用情况统计数据。现在我们还想记录页面呈现后的一些数据,因此我们通过以下方式向页面中注入了一些javascript: ScriptManager.RegisterStartupScript(this, this.GetType(), "readyTime", sReady, true); 这将向脚本中注入一些jQuery,其中说明“当window.load事件触发时,向Web服务发送一

我们的应用程序中有一个所有其他页面都源自的基页。我们已经在数据库中为每个页面请求插入了一条记录,以跟踪应用程序使用情况统计数据。现在我们还想记录页面呈现后的一些数据,因此我们通过以下方式向页面中注入了一些javascript:

ScriptManager.RegisterStartupScript(this, this.GetType(), "readyTime", sReady, true);
这将向脚本中注入一些jQuery,其中说明“当window.load事件触发时,向Web服务发送一些数据,以便我们知道页面下载到客户端并呈现所需的时间

它适用于初始页面请求,但不适用于异步回发。我添加了以下代码:

 Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
 function EndRequestHandler(sender, args)
 {
   // webservice call here
 }";
问题是,异步代码确实在异步回发结束时触发,但它用于日志项的密钥与初始请求中的密钥相同。生成页面时,页面中的javascript被赋予一个键,并且javascript没有被更新。我设置了一个断点,并且正在执行ScriptManager调用,但是页面上的脚本在每次回发后都保持不变

有人知道这是否可能吗

编辑:我看到这个帖子:
但是因为我在一个基本页中,我不确定是否能确切地找出是哪个控件导致了回发。(至少我尝试使用的代码uu EVENTTARGET不起作用,因为有时它隐藏在用户控件或网格中)

如果使用ScriptManager,则可以使用以下代码段

if(ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
{
   ...
}

但我知道这是一个异步回发。我只需要在异步回发上使用新键更新javascript。javascript中的键永远不会更改。