打开网页时,累计值自加1 该如何实现?
方法不限,要具体代码。

解决方案 »

  1.   

    protected void Page_Load(object sender, EventArgs e)
        {
    if (!IsPostBack)
            {
    if(session["value"]!= null)
    {
    session["value"] = int.Parse(session["value"] ) +1;
    }
    else
    {
    session["value"] =0
    }}
            
        }
      

  2.   

    一楼的用的是session
    如果用page 的话累计值就会增加的很快吧?
      

  3.   

    那样Session就不能用了。。因为Session时单用户内置对象,关掉浏览器就归零了。。可以用application保存与服务器一致,但考虑到服务器不可能一直开着,可以用文件、数据库或其它固定形式保存
      

  4.   

    在webconfig里的session_start中定义一个变量,+1,session_end 中 -1,网页中直接调用这个变量即可!
      

  5.   

    if (!IsPostBack) 
            { 
    if(session["value"]!= null) 

    session["value"] = int.Parse(session["value"] ) +1; 

    else 

    session["value"] =0 
    }一楼的代码,我有一点不太懂就是if(session["value"]!= null)  不知道是什么意思。
    如果我想要一个变量 比如我定义 int  num如果网页被打开 ++num 用代码该怎么实现呢?
    请帮忙提供一个具体的。谢谢
      

  6.   

    <%
    '一个简单的计数器程序
    Set fs=CreateObject("Scripting.FileSystemObject")
    Set a=fs.openTextFile(server.mappath("count.txt"))
    count=a.readline
    response.write "欢迎您,您是本站第:" & count 
    response.write  "位访问者!"
    count=count+1
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a=fs.createTextfile(server.mappath("count.txt"))
    a.writeline (count)
    %>建个count.txt
      

  7.   

    呵呵,session还是比较好用的。我一直这样用。学习大家的其他办法。
      

  8.   

    最好用application吧
    void Application_Start(object sender, EventArgs e) 
        {
            //在应用程序启动时运行的代码
            //这里可以读一个文件中的值,功能可以自己扩充
    Application["user_sessions"] = 0    }
        
        void Application_End(object sender, EventArgs e) 
        {
            //在应用程序关闭时运行的代码
    //在这里将数字存储    }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            //在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e) 
        {
            //在新会话启动时运行的代码Application.Lock();//先锁定应用程序,这里大家都明白 
    Application["user_sessions"] = (int)Application["user_sessions"] + 1; 
    //当session_start方法启动时判断当前有几个人在线,然后赋值到Application["user_sessions"]变量.(int)强制转换类型,卸箱,装箱! 
    Application.Unlock(); 
        }    void Session_End(object sender, EventArgs e) 
        {
            //在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式 
            //设置为 StateServer 或 SQLServer,则不会引发该事件。//若为总数,则不要这里的Application.Lock(); 
    Application["user_sessions"] = (int)Application["user_sessions"] - 1; 
    //当用户离开站点的时候,减1 卸箱,装箱! Object=int 
    Application.Unlock(); 
        }
      

  9.   

    做统计在线的最好用Application内置对象记录在线人数
    建全局Global.asax页面,代码如下:
    <%@ Application Language="C#" %><script runat="server">    void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            Application["Online"] = 0;
        }
        
        void Application_End(object sender, EventArgs e) 
        {
            //  在应用程序关闭时运行的代码    }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
             Application.Lock();
            Application["Online"] = (int)Application["Online"] + 1;
            Application.UnLock();
        }    void Session_End(object sender, EventArgs e) 
        {
           // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
           // 或 SQLServer,则不会引发该事件。
            Application.Lock();
           Application["Online"] = (int)Application["Online"] - 1;
           Application.UnLock();
        }
           
    </script>然后你在你的aspx页面获取Application["Online"]的值就ok啦。
    不过这个不是很准,现在统计在线的只是一个大概,要做到精准的统计最好用ajax或者数据库。
      

  10.   


    if(session["value"]!= null)
    就是不为空
      

  11.   

    或者就是在txt或db里面用代码控制了