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

时间: 2024-09-13 11:13:04

asp.net 实现静态页面累加访问量的三种方式_实用技巧的相关文章

ASP.NET页面缓存常见的4种方式_实用技巧

本文为大家分享了4种常见的ASP.NET页面缓存方式,供大家参考,具体内容如下 1.分布式缓存Memcached,教程下载 2.内存缓存,此占用服务器资源 #region 内存缓存 public class MemoryCache { #region 写 /// <summary> /// 向内存写入数据缓存 /// </summary> /// <remarks>TOMMYHU2011-7-28 10:25创建</remarks> /// <para

asp.net操作javascript:confirm返回值的两种方式_实用技巧

在asp.net中使用confirm可以分为两种: 1.没有使用ajax,confirm会引起也面刷新 2.使用了ajax,不会刷新 A.没有使用ajax,可以用StringBuilder来完成. (一)asp.net用StringBuilder控制后台操作javascript:confirm返回值,此方法比较烦琐 1.后台启动事件 StringBuilder sb = new StringBuilder(); sb.Append("<script language='javascript

asp.net显示自己的网页图标的几种方式_实用技巧

如果你是用IE7以上的版本,或者用多tab的浏览器,你一定会发现tab前边的个性图标,这个是怎么弄的呢 一直不太明白,偶然的机会,同事告诉我了几种做法,贴出来和大家分享 1. 直接放个ico图标到你网站的根目录,并命名为favicon.ico就可以了.favicon.ico应是16×16的1个256色的图标. 但对于低版本的IE看不到,可 在网页的<head>与</head>标记之间加入如下标记就可以了. 复制代码 代码如下: <link rel="icon&quo

ASP.NET Razor模板引擎中输出Html的两种方式_实用技巧

本文实例讲述了ASP.NET Razor模板引擎中输出Html的两种方式.分享给大家供大家参考,具体如下: Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示: @{ string thisTest = "<span style=\"color:#f00;\">qubernet</span>"; } @thisTest; 这样在页面输出的文本就是:<

ASP.NET批量操作基于原生html标签的无序列表的三种方法_实用技巧

在网页开发中,经常要用到无序列表.事实上在符合W3C标准的div+css布局中,无序列表被大量使用,ASP.NET虽然内置了BulletedList控件,用于创建和操作无序列表,但感觉不太好用.本篇介绍服务器端ASP.NET批量操作基于原生html标签的无序列表的三种方法. 方法一,将li元素做成html控件,加上id,用FindControl方法. aspx代码: <form id="form1" runat="server"> <ul>

详解ASP.NET MVC之下拉框绑定四种方式_实用技巧

前言 上两节我们讲了文件上传的问题,关于这个上传的问题还未结束,我也在花时间做做分割大文件处理以及显示进度的问题,到时完成的话再发表,为了不耽误学习MVC其他内容的计划,我们今天开始好好讲讲关于MVC中下拉框中绑定枚举的几种方式. 话题引入 一般在下拉框中绑定数据的话,分为几种情况. (1)下拉框中的数据是写死的,我们直接给出死代码即可. (2)下拉框中的数据从数据库中读取出来,从而进行显示. (3)下拉框中直接用枚举显示. (4)下拉框中一个选择的值改变另外一个下拉框中的值. 关于下拉框中绑定

asp.net后台关闭当前页面并传值的两种方法_实用技巧

第一种: 复制代码 代码如下: Response.Write("<script>window.close();</script>");// 会弹出对话框询问是否关闭 第二种:          复制代码 代码如下: Response.Write("<script>window.opener=null;window.close();</script>");// 不会弹出询问 传值给父页面: 复制代码 代码如下: stri

asp.net 生成静态时的过滤viewstate的实现方法_实用技巧

复制代码 代码如下: public static string GetSourceTextByUrl(string url) { WebRequest request = WebRequest.Create(url); request.Timeout = 200000;//20秒超时 WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader

ASP.NET中MD5与SHA1加密的几种方法_实用技巧

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产