163K网站系统官方论坛's Archiver

guojian 发表于 2007-2-16 18:21

.net教程:为.text blog 添加 计数器

[size=3]


为.text blog 添加 计数器


[ 来源:csdn | 作者:未知 | 时间:2006-4-15 7:17:35 | 浏览: 826人次 ]

收藏到新浪vivi 收藏到365key 收藏到我摘  字号选择〖 大 中 小 〗/ 双击滚屏 单击停止  


<%@ control language="c#" classname="dottextblogcounter"  inherits="dottext.web.ui.controls.basecontrol"%>  <%@import namespace="system.data" %><%@import namespace="system.data.sqlclient" %><%@import namespace="dottext.framework.data"%>  <script runat="server">// dottextblogcounter created on 4/25/2005 by://*daqingshu http://blog.csdn.net/daqingshu  /// <summary>/// use session or cookie?/// </summary>void page_load(object sender, system.eventargs e){  string number = ""; string strsql = ""; string conn = dottext.framework.providers.dbprovider.instance().connectionstring; httpcookie oldcookie = request.cookies["counter"]; if(oldcookie == null)//if cookie exist,do not count {  httpcookie cookie = new httpcookie("counter");  datetime dtnow = datetime.now;  timespan tsminute = new timespan(0, 1, 0, 0);//cookie expire time 1 hour  cookie.expires = dtnow + tsminute;  response.cookies.add(cookie);      strsql = "update blog_config set pagevisitcount = pagevisitcount + 1";  sqlhelper.executenonquery(conn, commandtype.text, strsql, null);     } strsql = "select pagevisitcount from  blog_config where blogid = " + convert.toint32(currentblog.blogid);   sqldatareader rdr =  sqlhelper.executereader(conn, commandtype.text, strsql, null); if(rdr.read()){  number = rdr[0].tostring(); } rdr.close();  if(number.length <= 8) {  for(int i = 8; i >= number.length; --i)  {   number = "0" + number;  } }  numbertopicture(number);}  private void numbertopicture(string number){ system.web.ui.webcontrols.literal literal1 = new literal(); system.web.ui.webcontrols.literal literal2 = new literal(); literal1.text = "您是第";  phimage.controls.add(literal1);  if(number.length > 0) {  for(int i = 0; i < number.length; ++i)  {   stringbuilder strimage = new stringbuilder();//maybe i missing the system.text namespace if it doesn't work   strimage.append("~/images/counter/eggblue/");   strimage.append(number[i]);   strimage.append(".gif");   system.web.ui.webcontrols.image image = new system.web.ui.webcontrols.image();   image.id = "image" + i.tostring();      image.imageurl = strimage.tostring();   phimage.controls.add(image);  }    } literal2.text = "位访客。"; phimage.controls.add(literal2); }  </script><asp:placeholder runat="server" id="phimage"></asp:placeholder>   
的确是个很简单很小的功能,还修改了数据库结构,在表blog_config里面添加pagevisitcount字段,使用的时候,需要修改pagetemplate.ascx文件,在里面添加  
<%@ register tagprefix="overflow" tagname="dottextblogcounter" src="~/skins/dottextblogcounter.ascx" %>合适的位置添加<overflow:dottextblogcounter id="dottextblogcounter" runat="server"></overflow:dottextblogcounter>  






[/size]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.