if(!IsPostBack)
{
if( ViewState["firstClick"] == null || ViewState["firstClick"].ToString()!="1")
{
count++;
ViewState.Add("firstClick", "1");
}
}页面刷新后,ViewState["firstClick"]值为空,保存不住。
{
if( ViewState["firstClick"] == null || ViewState["firstClick"].ToString()!="1")
{
count++;
ViewState.Add("firstClick", "1");
}
}页面刷新后,ViewState["firstClick"]值为空,保存不住。
{
//这里是页面第一次加载时执行的语句
}
当页面刷新时,if(!IsPostBack)里面的代码是不会被执行的。
{
count++;
ViewState.Add("firstClick", "1");
}
if(!IsPostBack)
{
//这里是页面第一次加载时执行的语句
}
当页面刷新时,if(!IsPostBack)里面的代码是不会被执行的。
------------------------------实际上执行了。
我断点调试过,如果你请求的页面没有回传给服务器,你点刷新,
会执行if(!IsPostBack)
{
//执行
}
如果你请求的页面有回传给服务器,你点刷新,
会执行if(!IsPostBack)
{
//不执行
}
if( ViewState["firstClick"] == null && ViewState["firstClick"].ToString()!="1")
{
count++;
ViewState.Add("firstClick", "1");
}
---------------------
if的判断条件,ViewState["firstClick"]既然为空,ToString后当然不等于1。
保存点击次数可以使用
1,session["count"]=session["count"]+1
2.ViewState["count"]=ViewState["count"]+1
3. static i=0;
i=i+1;
每次刷新页面都会从新定义一次的。
不会的话自己上网查
页面刷新后,ViewState["firstClick"]值为空,保存不住。
我断点调试过,如果你请求的页面没有回传给服务器,你点刷新,
会执行if(!IsPostBack)
{
//执行
}
如果你请求的页面有回传给服务器,你点刷新,
会执行if(!IsPostBack)
{
//不执行
}
----------------------------------
通常情况下,点刷新有没有回传服务器呢,如何知道。
当你刷新页面时,并不走你写的代码,
保存点击次数可以使用
1,session["count"]=session["count"]+1
2.ViewState["count"]=ViewState["count"]+1
3. static i=0;
i=i+1;
-------------------------
count倒不用担心,已经保存xml。
判断IP或者再加个时间参数判断
-------------------------判断IP好像需要用到cookies了吧。
建议用cookies
不会的话自己上网查
---------------------
必须用么?浏览器可以设置不接受cookies的,用户会不会觉得不方便。
就是你点当前刷新页面之前请求有没回传给服务器过.
你现在是要做页面的点击率吧,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);
刷新的话,页面的所有变量又要全部初始化,跟第一次打开加载是一样的
你可以看下有关页面生存期的相关东东
-------------------------也就是说 ,刷新的话没办法通过存值来判断。那有办法判断页面是否刷新么?就类似if(!IsPostBack)这种的。