C# 在response.redirect触发器之前暂停HTML输出
注意:我不确定问题的标题,请随意编辑 我想暂停.aspx页面中的页面和事件执行。下面是我的场景 请注意,我已经简化了代码,因为这里我的实际代码有点不同 我有下面的Page1.aspx,其中aspx代码如下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
<%@ 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';
});