a.aspx?id=1b.aspx
 在Page_Load时 根据Request["id"] 数据库字段+1
 
 但这样就有问题 就是在刷新当页时 数据库字段也+1怎么样防止在刷新时 数据库字段+1??

解决方案 »

  1.   

    IsPostBask ?? 刷新就是postback吧
      

  2.   

    可以根据用户IP来判断,前提是在数据库里面加个表,记录每次用户访问的IP,每次访问都判断是否重复,IP相同就不加1
      

  3.   

    根据用户IP  好像不行我们是允许一个用户多次通过a.aspx向b.aspx传值
      

  4.   

    根据用户IP     好像不行 我们是允许一个用户多次通过a.aspx向b.aspx传值 newredhat 老大,你的需求是什么?限制IP只是在计数器方面限制,没必要限制访问啦?
      

  5.   

    我是想避免 在刷新的情况下 根据request 数据库字段+1
      

  6.   

    如果 a.aspx向b.aspx传值 数据库字段 +1 是对的
     有多少次加多少次 但是刷新+1要避免
      

  7.   

    第一次访问IP被记录到数据库里面了,第二次(包括刷新页面)访问判断记录的IP库里面有没有重复的,有重复的就不加1了不?
    当然记录访问时间更好了,多个判断条件吗.这样子有什么问题吗?
      

  8.   

    为什么不加一个Cookie来判断是否需要+1呢?
      

  9.   

     同一Ip只要通过a向b传值 那么数据库就要+1
      

  10.   

    如果   a.aspx向b.aspx传值   数据库字段   +1   是对的 
      有多少次加多少次   但是刷新+1要避免没看清楚,不好意思,这样子的话就只有屏蔽右键和刷新功能了,或者用模态窗口打开也可以.
      

  11.   

    可能我没说明白 
    ---------------如果用co0kie
    pageload 给cookie = 0
    如果+1以后 再给cookie = 1
    -------------------------
    第二次刷新sql没有+1 那第三次刷新sql就+1了
      

  12.   

    能不能 得到地址栏的 http地址 判断下
    -??
      

  13.   

    客户端刷新这个页面 1分钟后 刷也行 10分钟后刷新也行 而Request["id"] 是只要不close 就会一直存在
    ---
    访问间隔时间+IP  如何实现??
      

  14.   

    先判断一下Page.PreviousPage是不是a
      

  15.   

    楼主,会跨页传值原理吗?如果会,我想你要实现的效果是可以的。比如在A页向B页跨页传值,我在B页里可以根据一个跨页属性(BOOL类型的),判断当前B页是不是通过A页触发的,如果不是(要把B页的状态保存屏蔽),就说明刷新的,不然就是用户通过A页请求过来的,这样你就可以加1了。代码我在这就不多说了,因为你要自己懂得跨页传值原理才得,不然说了也是白说。跨页传值原理在《ASP。NET 2。0 技术内幕》这本书里说得明明白白。
      

  16.   

    用Session判断可以吧
    如果session相同就不加 1
      

  17.   

    楼主,会跨页传值原理吗? 如果会,我想你要实现的效果是可以的。 比如在A页向B页跨页传值,我在B页里可以根据一个跨页属性(BOOL类型的),判断当前B页是不是通过A页触发的,如果不是(要把B页的状态保存屏蔽),就说明刷新的,不然就是用户通过A页请求过来的,这样你就可以加1了。 代码我在这就不多说了,因为你要自己懂得跨页传值原理才得,不然说了也是白说。 跨页传值原理在《ASP。NET   2。0   技术内幕》这本书里说得明明白白。
    ---------------------------------------
    这个方法比较好,但是猜想楼主的意图, 他的需求不是指当刷新时才不加1,而从别的页面点进来就加一.
    我猜想:他的意思应该是当某个人(或某次会话或某个IP)点过b页对应的这个id时,就这个id对应的记录就不再被此人(或此会话或此ip)进行触发+1操作了,如果是首次点,那就加.只有楼主把自己的意思表明了,才能确定怎么解决.
      

  18.   

    楼主的意思是:只要是a.aspx向b.aspx传值  数据库字段就+1 有多少次加多少次 但是刷新的+1要避免!这样貌似不好办 
      

  19.   

    自己加个ViewState,第一次pageload的时候赋个值。然后在页面刷新的时候,用ViewState来判断下。如果相等,就不+1
      

  20.   

    string purl = Request.Headers["Referer"]!=null?Request.Headers["Referer"].ToString():"";
    if(purl.IndexOf("a.aspx")!=-1) 数据库字段+1
      

  21.   

    ViewState首选if(ViewState["hasAdd"]==null)//只有当ViewState为空时才更新.
    {
      ViewState["hadAdd"]="hasAdd";
      //更新数据库代码
    }
      

  22.   

    IsPostBack 没有用的,我试了,用viewstate可以实现的
      

  23.   

    if(this.Request.Url.ToString() == "http://.../a.aspx") 
    {
    字段+1
    }
    其中this.Request.Url.ToString()是获取浏览器地址