簡體   English   中英

將Google Analytics代碼放在ASP.NET Web應用程序中的位置

[英]Where to place Google Analytics code in ASP.NET web application

我想在我的ASP.NET Web應用程序中找到一個放置Google Analytics代碼的地方。 我想將它放在某處,而不必將代碼復制並粘貼到多個文件中。 有什么地方我可以注入它,我只需要包含它一次,所有頁面都會受到影響嗎? 不幸的是,我沒有使用MasterPages。

創建一個繼承自Page類的基頁,並將其插入到頭部。 然后將所有其他頁面從基頁繼承:-)

您可能需要有一個基頁,或者在需要該腳本的每個頁面上放置一個自定義控件。

在其中任何一個中,您都可以訂閱Init事件,然后執行以下操作:

protected override void OnInit(EventArgs e)
    {
        var myAnalyticsScript = @"<insert_analytics_script_here>";
        this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "analyticScript", myAnalyticsScript);
    }

如果選擇基頁,則可以通過不從基頁繼承來控制腳本顯示的頁面。 如果選擇控件,則不要將控件放在頁面上。

為所有頁面創建基頁並在那里添加谷歌分析。 然后從這個繼承每個新頁面。

例如

class PageWithGoogleAnalytics : Page
{
    //some actual code to add analytics
}

class MyCustomPage : PageWithGoogleAnalytics {}

另一個建議,是的,這是一個大規模的黑客攻擊,但你可以編寫一個HttpModule,在ASP.NET生成HTML之后但在IIS將請求發送到瀏覽器之前將其自動注入頁面。

注意:我真的不建議這個選項,但它可能是你唯一的選擇。

您可以將其放入頁面,然后將此頁面包含在您想要檢查的任何位置。 但是masterpage是最好的。

- - 更新 -

在app_code中添加以下類


public class WebsitePageBase : System.Web.UI.Page
{
    public const string analyticsCode = "your script goes here..."
    protected void Page_Load(Object sender, e as EventArgs)
    {
       ClientScript.RegisterStartupScript(Me.GetType(),"__analytics_script",analyticsCode )
    }
}

當你添加一個新的aspx頁面時,你必須繼承新的基類,例如你要添加default.aspx你的后端類應該是這樣的:


public partial class _default : WebsitePageBase
{

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM