`
cheeruplc
  • 浏览: 114028 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

巧妙设置检测当前页面是否执行刷新操作

阅读更多
在做一个网站中,点击文章标题后跳转至文章内容页,同时文章点击量+1,可是本人很懒啊,由于网站中多处有文章标题列表,所以如果要添加点击事件,就有点繁琐,而且还有可能漏加,哈哈 所以想啊 反正点击标题最终都是要进内容也,所以我只要将文章ID得到,到文章内容页+1就可以了啊,可是还有一个问题就是页面刷新问题,如果用户在文章内容页刷新,那这程序是有点悲催啊,所以想办法过滤如果刷新页面则不执行点击数+1,本开始一下代码很巧妙的过滤了刷新功能。本意是:如果请求页面与来源页面url相同 则不执行+1操作,如果是从别的页面过来没有问题,但是如果在本页直接执行刷新,则Reques.Url()报错未将对象引用的实例,使用try catch 刚刚好走了catch 绕过了 addClick事件 ,很意外啊
          
 if (!IsPostBack)
            {
                try
                {
                    string preUrl = HttpContext.Current.Request.Url.ToString();
                    string curUrl = Request.UrlReferrer.ToString();

                    if (preUrl != curUrl)
                    {
                        new YouYes.BLL.GroupTopicBLL().AddClicks(TopicID);
                    }
                }
                catch (Exception es)
                {

                    //Net.Common.Common.Show(this, es.Message);
                }
            }
0
2
分享到:
评论

相关推荐

    判断浏览器刷新还是关闭

    在网页开发中,判断用户是刷新页面还是关闭页面是一个常见的需求,这有助于我们优化用户体验,进行数据同步,或者实现特定的交互逻辑。本篇将基于标题"判断浏览器刷新还是关闭"来深入探讨这个主题。 首先,我们需要...

    ViewPager嵌套ListVIew实现上拉和下拉刷新

    4. **数据加载逻辑**:当用户执行下拉刷新操作时,通常会通过网络请求获取新的数据,然后更新Adapter的数据源并调用notifyDataSetChanged()。对于上拉加载更多,同样需要网络请求,但这次是在列表底部添加新的数据...

    页面跳转动画简单示例

    例如,当用户点击跳转链接时,我们可以用JavaScript暂停当前页面的动画,等待动画完成后再进行实际的页面跳转,这可以避免因页面刷新打断动画的尴尬情况。 ```javascript document.querySelector('.link')....

    location.hash保存页面状态的技巧

    这个属性不仅可以读取,也可以设置,允许开发者在不刷新整个页面的情况下改变URL的一部分。 在描述的场景中,假设有一个基于Ajax的查询页面,用户可以输入查询条件获取结果列表。当用户点击列表中的某项进入详情页...

    在线人数统计程序

    1. **检测会话状态**:通过检查用户的会话(Session)状态来确定用户是否在线。当用户访问网站时,一个新的会话开始;如果用户一段时间内没有活动,会话将超时并结束,从而减少在线人数计数。 2. **更新数据库**:`...

    基于struts和heiernate权限管理系统

    拦截器可以在Action执行之前进行预处理,如检查当前登录用户的权限是否允许访问目标Action。如果权限不足,拦截器可以提前阻止请求的执行,并返回相应的错误信息。这种方式确保了只有拥有相应权限的用户才能执行特定...

    多媒体教室

    注: TCP/IP 设置完成后请用 PING 命令验证网络是否连通,如网络不通请尝试检查相应网络设备、重新安装 TCP/IP 协议等手段来解决问题。  2.3产品安装  教师机的安装 1. 插入安装光盘后会自动运行安装程序,进入...

    DSP片外高速海量SDRAM存储系统设计

    一旦检测到行越界,EMIF会自动关闭当前页面并打开新的页面,以优化性能。这种策略减少了不必要的页面关闭和打开操作,提高了数据访问效率。 总的来说,基于TMS320C6201的高速海量SDRAM存储系统设计,通过巧妙地利用...

    Android-TopScrollHelper,安卓topscrollhelper.zip

    在Android应用开发中,尤其是在内容丰富的列表或长页面中,用户往往需要滚动到界面的顶部,例如查看通知、刷新内容等。传统的做法通常是设置一个可见的“返回顶部”按钮,但这种设计可能会占据屏幕空间,影响用户...

    VUE解决微信签名及SPA微信invalid signature问题(完美处理)

    这就意味着在页面加载时很难判断当前页面的确切路径,从而在微信API签名验证时出现问题。为了解决这个问题,可以在VUE中设置全局变量来存储首次进入页面的路由地址,并在每次路由变化后进行签名验证。 ### 微信环境...

    awesome_favicon

    2. **检测favicon**:检查当前页面的`<link rel="shortcut icon">`标签,如果不存在或者URL为空,说明没有定义favicon。 3. **插入图标**:若检测到缺少favicon,使用`document.createElement`创建新的`<link>`或`...

    asp.net Repeater显示父子表数据,无闪烁

    在`Page_Load`事件中检查`IsPostBack`属性,如果不是PostBack,才执行数据绑定。 2. 使用两个Repeater控件分别绑定父表和子表。主Repeater(Repeater1)用于显示父表记录,每个父记录下有一个LinkButton用于控制子...

Global site tag (gtag.js) - Google Analytics