if(!IsPostBack)
{
    if( ViewState["firstClick"] == null || ViewState["firstClick"].ToString()!="1")
    {
        count++;
        ViewState.Add("firstClick", "1");
    }
}页面刷新后,ViewState["firstClick"]值为空,保存不住。

解决方案 »

  1.   

    if(!IsPostBack)
    {
     //这里是页面第一次加载时执行的语句
    }
    当页面刷新时,if(!IsPostBack)里面的代码是不会被执行的。
      

  2.   

    ViewState["firstClick"]  = "1";
      

  3.   

    if( ViewState["firstClick"] == null && ViewState["firstClick"].ToString()!="1")
        {
            count++;
            ViewState.Add("firstClick", "1");
        }
      

  4.   

    -----------------------------
    if(!IsPostBack)
    {
     //这里是页面第一次加载时执行的语句
    }
    当页面刷新时,if(!IsPostBack)里面的代码是不会被执行的。
    ------------------------------实际上执行了。
      

  5.   

    页面刷新后,ViewState["firstClick"]值为空,保存不住。
    我断点调试过,如果你请求的页面没有回传给服务器,你点刷新,
    会执行if(!IsPostBack)
    {
     //执行
    }
    如果你请求的页面有回传给服务器,你点刷新,
    会执行if(!IsPostBack)
    {
     //不执行
    }
      

  6.   

    ---------------------
    if( ViewState["firstClick"] == null && ViewState["firstClick"].ToString()!="1")
        {
            count++;
            ViewState.Add("firstClick", "1");
        }
    ---------------------
    if的判断条件,ViewState["firstClick"]既然为空,ToString后当然不等于1。
      

  7.   

    当你刷新页面时,并不走你写的代码,
    保存点击次数可以使用
    1,session["count"]=session["count"]+1
    2.ViewState["count"]=ViewState["count"]+1
    3. static i=0;
    i=i+1;
      

  8.   

    你的count是怎么定义的?
    每次刷新页面都会从新定义一次的。
      

  9.   

    建议用cookies
    不会的话自己上网查
      

  10.   

    -----------------------------
    页面刷新后,ViewState["firstClick"]值为空,保存不住。
    我断点调试过,如果你请求的页面没有回传给服务器,你点刷新,
    会执行if(!IsPostBack)
    {
     //执行
    }
    如果你请求的页面有回传给服务器,你点刷新,
    会执行if(!IsPostBack)
    {
     //不执行
    }
    ----------------------------------
    通常情况下,点刷新有没有回传服务器呢,如何知道。
      

  11.   

    -----------------------
    当你刷新页面时,并不走你写的代码,
    保存点击次数可以使用
    1,session["count"]=session["count"]+1
    2.ViewState["count"]=ViewState["count"]+1
    3. static i=0;
    i=i+1;
    -------------------------
    count倒不用担心,已经保存xml。
      

  12.   

    -------------------------
    判断IP或者再加个时间参数判断
    -------------------------判断IP好像需要用到cookies了吧。
      

  13.   

    ---------------------
    建议用cookies
    不会的话自己上网查
    ---------------------
    必须用么?浏览器可以设置不接受cookies的,用户会不会觉得不方便。
      

  14.   

    /*通常情况下,点刷新有没有回传服务器呢,如何知道。*/
    就是你点当前刷新页面之前请求有没回传给服务器过.
    你现在是要做页面的点击率吧,ViewState[]肯定不能正确统计啊,因为你只考虑到单个用户,
    没有考虑到很多用户一起浏览的情况.
    我做了个你测试下;当然我这种情况只是服务器没有重启统计才是正确的.
    你可以在Application_end事件中把Count的值更新到数据库.还有就是同一个用户连续点刷新的时候Count会一直增加,不想这样的话你可以在Page_Load中自动触发一个事件回传给服务器,比如好象你手动点了个Button按钮后连续刷新页面Count值就不会一直增加了.
    或者你用IP判断,不过在同个IP内网用户你也要考虑,小第刚毕业个人意见参考.
    private static int count;//全局变量,只初始化一次
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!Page.IsPostBack)
    {
    count++;

    }
    Response.Write(count);
      

  15.   

    -------------------------
    刷新的话,页面的所有变量又要全部初始化,跟第一次打开加载是一样的
    你可以看下有关页面生存期的相关东东
    -------------------------也就是说 ,刷新的话没办法通过存值来判断。那有办法判断页面是否刷新么?就类似if(!IsPostBack)这种的。
      

  16.   

    问题已解决。用了下ResponseRedirect将一个传过来的一个标志位去掉,从而不执行count++