一个简单的图形计数器(防刷新增加访客人数)

         本计数器可以防止通过连续按下“刷新”来增加访客人数,但如果用户关闭浏览器,再次打开次网页,计数器的数字依然会增加。本例尚且无法解决此问题。此问题可以通过追踪IP地址来解决,但这不是本文要讨论的问题。

        计数器的思路:一位访问者访问网页,服务器从一个文档里读取该页已被浏览的次数,加一,然后将这个数字在写回那个文档里,并在浏览器中显示加一后的次数。如果又有一位访问者浏览此网页,服务器又重复上述过程,从而实现了方可计数器。

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Untitled Page</title>

</head>

<body>

    <form id="form1" runat="server">

   

    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

    <br />

    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

   

    </form>

</body>

</html>

 

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.IO;

 

public partial class NewFolder4_Default2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        Session.Add("a", 0);//注册Session对象,如果没有这一句,Session.IsNewSession的属性就一直是true

        StreamReader objReader = new StreamReader(Server.MapPath("Counter.txt"));

        long Counter = long.Parse(objReader.ReadLine().ToString());

        objReader.Close();

 

        if (Session.IsNewSession == true)//检查是否为第一次启动浏览器浏览网页

        {

            Counter += 1;

            StreamWriter objWriter = new StreamWriter(Server.MapPath("Counter.txt"), false);

            objWriter.WriteLine(Counter);

            objWriter.Close();

        }

        string ss="";

        for (int i = 0; i < Counter.ToString().Length; i++)

            ss += "<img src=" + Counter.ToString().Substring(i, 1) + ".jpg>"; //0~9的图片的文件名为0.jpg,1.jpg,2.jpg......

        Label1.Text = "您是第" +ss + "位访客";

        Label2.Text = "最近一次浏览的时间为:"+DateTime.Now;

    }

   

}

 

效果图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值