ASP.NET如何记录用户访问页面的停留时间?

吕津 2014-08-10 03:44:43
用户进入A页面,页面上有导致回传的按钮。
我们计算用户在A页面的访问时间是从用户进入A页面,直到用户关闭A页面。中间的回传都不算。

我能想到的一个方法是,在页面中放入一个隐藏控件,在用户进入A页面时为其赋予一个GUID,由于在回传时隐藏控件的值不变,所以可以据此判定用户在A页面的停留时间。

不知各位除此之外有没有简单的办法,毕竟在每个页面都做这种时间太啰嗦了。
...全文
494 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxu_2629603619 2014-08-11
  • 打赏
  • 举报
回复
设置用户在线时间 //使用Session记录用户名会话时间 protected void Button1_Click(object sender, EventArgs e) { if (txtname.Text.Trim().Equals("mr") && txtpwd.Text.Trim().Equals("mrsoft")) { Session["name"] = txtname.Text.Trim();//记录用户名 Session.Timeout = 1;//停留一分钟跳转到指定网页,也可以设置记录停留时间 Response.Redirect("admin.aspx");//跳转到指定网页 } else { ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码错误');", true); } } //登录后加载页面设置 protected void Page_Load(object sender, EventArgs e) { if (Session["name"] == null) { Response.Redirect("Default.aspx"); } else { Response.Write("用户" + Session["name"] + "成功登录!"); } } //使用javascript创建临时文件保存用户时间
wjq 2014-08-10
  • 打赏
  • 举报
回复
比如,可以在session里放一个值,用来记录上次访问页面和上次访问时间。每次http请求时,判断上次页面是不是和这次相等,不等就当前时间-上次时间=上次页面停留时间。更新上次访问页面为当前页面。 如果嫌麻烦,可以: 1:做个httphanlder来统一处理这个逻辑 2:给asp.net的page做一层封装。每个页面的基类从默认的page改为你添加了以上逻辑的类。

62,054

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧