|
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); } }
|
|