如何在用户关闭页面之前捕获.aspx网页的统计信息?

时间:2015-01-23 00:46:39

标签: javascript c# jquery html asp.net

我正在开发一个asp.net网页,其中包含用户观看的视频。我试图捕获用户观看视频的统计数据。获取数字完全没问题。问题是当他们关闭浏览器时。我需要知道用户在浏览器关闭时观看的视频有多远。


的JavaScript

对于我的Javascript,我创建了一个按钮,当它被单击时,它将调用.aspx.cs文件中的服务器端函数。 JavaScript代码如下。每次用户退出网页时都会正常运行。

window.onbeforeunload = submitStat;

function submitStat() {

        //Get video time
        statString = getCurrentVideoTime();

        //Put the video time into a textbox that the server-side function can read.
        $('#videoStatsText').val(statString);

        //Click the button that calls the server-side function
        document.getElementById("submitVidStat").click();
}

HTML

我创建了一个调用服务器端功能的按钮,我创建了一个服务器可以读取的文本框。

<asp:Button ID="submitVidStat" Text="Submit Stat" runat="server"  OnClick="submitStat_Click" />

C#服务器端功能

我在C#代码中有最后一个函数,它读取视频统计信息(来自上面的HTML文本框)并将其插入到数据库中。

protected void submitStat_Click(object sender, EventArgs e)
{
    submitVidStats();
}

private void submitVidStats()
{
    string stats = videoStatsText.Text;

    //function that inserts the statistics into the database.
    insertVidStats(stats);    
}

问题

当我在本地主机上运行它时,它运行正常。我甚至可以设置断点,即使我的浏览器关闭(因为window.onbeforeunload JavaScript函数),我也能看到断点被击中。但问题是它何时投入生产。当我将它部署到在线服务器时,统计数据永远不会在我查看时输入到数据库中。我无法知道服务器端代码是否被调用,因为我无法将断点置于生产模式。请帮忙。

0 个答案:

没有答案