在ASP.NET 实现页面点击数记录

方法1

建立Default.aspx Web窗体

Default.aspx.cs文件中加入如下代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace HitCount

{

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

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!this.IsPostBack)

            {

                Session["first"] = null;

            }

            int count = 0;

            Application.Lock();

            Application.Add("count", count);

            if (Session.IsNewSession == true)

            {

                Application["count"] = (int)Application["count"] + 1;

            }

            Application.UnLock();

            Response.Write("The page has been visited: " + Application["count"] + "Times!");

            

        }

    }

}

 

 

方法2

建立counter.ascx 用户自定义控件,在根目录下加入counter.xml,如下

<?xml version="1.0" standalone="yes"?>

<counter>

  <count>

    <hits>0</hits>

  </count>

</counter>

Counter.ascx.cs文件中加入如下代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

namespace HitCount

{

    public partial class counter : System.Web.UI.UserControl

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!this.IsPostBack)

            {

          /*

                  使用Session目的是避免同一用户不同刷新页面使hits增加1

          */

                Session["first"] = DateTime.Now;                      

         this.HitCount();

            }

            DataSet tmpDS = new DataSet();

            tmpDS.ReadXml(HttpContext.Current.Server.MapPath("~/counter.xml"));

            Label1.Text = tmpDS.Tables[0].Rows[0]["hits"].ToString();

           

        }

        private void HitCount()

        {

            DataSet tmpDS = new DataSet();

            tmpDS.ReadXml(HttpContext.Current.Server.MapPath("~/counter.xml"));

            int hits = Int32.Parse(tmpDS.Tables[0].Rows[0]["hits"].ToString());

            if (Session.IsNewSession == true)

            {

                hits += 1;

            }

            tmpDS.Tables[0].Rows[0]["hits"] = hits.ToString();

            tmpDS.WriteXml(HttpContext.Current.Server.MapPath("~/counter.xml"));

        }

    }

}

counter.ascx 前台添加一个 Lable控件 ID="Label1"

..

OK, enjoy it.. That is it..

转载于:https://www.cnblogs.com/loveasm/archive/2009/12/11/1622100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值