C# 在response.redirect触发器之前暂停HTML输出

C# 在response.redirect触发器之前暂停HTML输出,c#,asp.net,google-analytics,C#,Asp.net,Google Analytics,注意:我不确定问题的标题,请随意编辑 我想暂停.aspx页面中的页面和事件执行。下面是我的场景 请注意,我已经简化了代码,因为这里我的实际代码有点不同 我有下面的Page1.aspx,其中aspx代码如下 <%@ Page language="c#" Codebehind="Page1.aspx.cs" AutoEventWireup="false" Inherits="Ass1.Page1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML

注意:我不确定问题的标题,请随意编辑

我想暂停.aspx页面中的页面和事件执行。下面是我的场景

请注意,我已经简化了代码,因为这里我的实际代码有点不同

我有下面的Page1.aspx,其中aspx代码如下

<%@ Page language="c#" Codebehind="Page1.aspx.cs" AutoEventWireup="false" Inherits="Ass1.Page1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
    <!------------------------- HTML code like title etc.. ------------------------->
    <script src='gatc.js' async defer></script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        </form>
    </body>
</HTML>
正如你所看到的,我在页面中没有做太多的工作,这个页面只是将请求转移到特定的PDF

我的问题是最近,我们公司开始在所有页面上实施GATC(谷歌分析),我在页面上包括了GATC文件,但实际上是因为我们有
Response.Redirect(“/PDF/Pdf1.PDF”)在页面加载时,浏览器直接将页面重定向到PDF,但我需要做的是,此浏览器应首先执行
gatc.js
,然后重定向到PDF,以便gatc可以跟踪page1.aspx上的命中率

此外,我不想在.cs文件中做任何更改,因为如果我在.cs文件中做任何更改,我需要上传整个项目(非常大)的DLL。所以我只想通过更改.aspx文件来处理这个问题

我已经试过跟随,但我认为它不起作用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<%@ Page language="c#" Codebehind="Page1.aspx.cs" AutoEventWireup="false" Inherits="Ass1.Page1" %>
<HTML>
    <HEAD>
    <!------------------------- HTML code ------------------------->
    <script src='gatc.js' async defer></script>
    </HEAD>
    /////////////// Change here
    <script runat="server">
    protected override void OnPreInit(EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
    }
    </script>   
    /////////////// Change here
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        </form>
    </body>
</HTML>

///////////////在这里换车
受保护的重写void OnPreInit(EventArgs e)
{
系统线程线程睡眠(2000);
}
///////////////在这里换车

请就此向我建议任何解决方案。

要禁用重定向,您只需在.aspx文件中定义自己的版本页面加载:

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        LogPDF(CatmastCat);
    }    
</script>


谢谢你的帮助。。但如何停止响应。重定向(“/PDF/Pdf1.PDF”);这已经在服务器端的
page\u load
事件中出现,我无法更改它..+1并接受您的答案。。我明白你的意思了,我将删除整个.cs文件引用,并在aspx文件中创建它
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        LogPDF(CatmastCat);
    }    
</script>
ga('send', 'pageview', {
  'page': '/Page1.aspx',
  'hitCallback': function() {
    window.location='http://mydomain.com/PDF/Pdf1.pdf';
  }
});
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  _gaq.push(function() {
        window.location='http://mydomain.com/PDF/Pdf1.pdf';
      });