关闭

ASP.NET中用图片的方式实现静态页面累加访问量

270人阅读 评论(0) 收藏 举报

静态页面 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


 protected void Page_Load(object sender, EventArgs e)
    {
        string id = Request.QueryString["article_id"].ToString();       //接收传过来的新闻id
        string con = "db_newsConnectionString";                           //连接数据库字符串
        string sqlstr = "update article set article_viewnum= article_viewnum+1 where article_id="+ id +"";                 //浏览量加一
        Sql.ExecuteNonQueryReadData(con, sqlstr);
        string sqlstr2 = "select article_viewnum from article where article_id="+ id +"";                       //更新浏览数量
        DataTable dt = Sql.DataTableReadData(con, sqlstr2);
        if (dt.Rows.Count == 0)
            Response.Write("0");
        else
        {
            string pv = dt.Rows[0]["article_viewnum"].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());
        }
    }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:40433次
    • 积分:558
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:26篇
    • 译文:0篇
    • 评论:14条
    最新评论