asp.net 实现静态页面累加访问量的三种方式

  静态页面 staticHtml.html

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

  <head>

  <title>统计动态页面访问量的几种方法</title>

  </head>

  <body>

  这是在层中显示

  <div id="pv"></div>

  <script src="AddNumber.aspx"></script>

  </body>

  </html>

  累加页面 AddNumber.aspx

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddNumber.aspx.cs" Inherits="AddNumber" %>

  AddNumber.aspx.cs

  代码

  

复制代码 代码如下:

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

  {

  private static int count = 1;

  protected void Page_Load(object sender, EventArgs e)

  {

  count++;

  Response.Write("var pv=document.getElementById('pv'); pv.innerText=" + count + ";");

  }

  }

  第二种方法:

  静态页面 staticHtml.html

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

  <head>

  <title>统计动态页面访问量的几种方法</title>

  </head>

  <body>

  这是利用图片进行显示

  <img src="ImageAddNumber.aspx" alt="这是动态统计的数量" />

  </body>

  </html>

  累加页面 ImageAddNumber.aspx

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageAddNumber.aspx.cs" Inherits="ImageAddNumber" %>

  ImageAddNumber.aspx.cs

  代码

  

复制代码 代码如下:

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

  {

  private static int count = 1;

  protected void Page_Load(object sender, EventArgs e)

  {

  count++;

  string pv = count.ToString();

  System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((pv.Length * 12.5)), 22);

  Graphics g = Graphics.FromImage(image);

  //图片背景色

  g.Clear(Color.White);

  Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));

  System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.White, Color.Red, (float)1.2f, true);

  g.DrawString(pv,font, brush, 0, 0);

  g.DrawRectangle(new Pen(Color.Gold), 0, 0, image.Width - 1, image.Height - 1);

  System.IO.MemoryStream ms = new System.IO.MemoryStream();

  image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);

  Response.ClearContent();

  Response.ContentType = "image/Gif";

  Response.BinaryWrite(ms.ToArray());

  }

  }

  第三种方法:

  静态页面 staticHtml.html

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

  <head>

  <title>统计动态页面访问量的几种方法</title>

  </head>

  <body>

  这是利用Ajax实现

  <div id="ajaxpv"></div>

  <script language="javascript" type="text/javascript">

  function addPv(){

  //建立跨浏览器的XMLHttpRequest对象

  var xmlhttp;

  try{

  xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');

  }catch(e){

  try{

  xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');

  }catch(e){

  try{

  xmlhttp= new XMLHttpRequest();

  }catch(e){}

  }

  }

  //创建请求

  xmlhttp.open("get","AjaxPv.aspx?news=1");

  xmlhttp.onreadystatechange=function(){

  if(xmlhttp.readyState==4){

  if(xmlhttp.status==200){

  //根据responseText判断用户名是否存在

  var repv=xmlhttp.responseText;

  var mypv=document.getElementById("ajaxpv");

  mypv.innerHTML=repv;

  /*alert(repv);*/

  }else{

  alert("网络失败。");

  }

  }

  } ;

  xmlhttp.send(null);

  window.setTimeout("addPv",1000);

  }

  window.onload=addPv;

  </script>

  </body>

  </html>

  累加页面 AjaxPv.aspx

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxPv.aspx.cs" Inherits="AjaxPv" %>

  AjaxPv.aspx.cs

  

复制代码 代码如下:

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

  {

  private static int count=1;

  protected void Page_Load(object sender, EventArgs e)

  {

  //累加到数据库

  //读取数据库中数据,目前

  count = 5;

  Response.Write(count);

  }

  }