当前位置 > 文字教程 > Asp.net教程

asp.net中用C#实现站点计数器用户控件

文章类别:Asp.net | 发表日期:2008-10-5 22:13:50

资源:同级目录下的存放当前计数的count.txt文件
子目录pic下的0到9的数字图片0.gif ~ 9.gif
--------------------------------
asax文件:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="counter.ascx.cs" Inherits="JiAnWeb.counter" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<LINK href="css.css" rel="stylesheet">
<FONT face="宋体">
<TABLE id="table_counter" cellSpacing="0" cellPadding="0" width="750" align="center" border="0"
runat="server">
<TR>
<TD style="HEIGHT: 23px" align="center" valign=middle><IMG height="1" alt="" src="pic\rightblueback.gif" width="700"></TD>
</TR>
<TR>
<TD align=center valign=middle></TD>
</TR>
</TABLE>
</FONT>
-------------------
.cs文件:
namespace JiAnWeb
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

/// <summary>
/// counter 的摘要说明。
/// </summary>
public class counter : System.Web.UI.UserControl
{
protected System.Web.UI.HtmlControls.HtmlTable table_counter;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string filePath=System.Web.HttpContext.Current.Server.MapPath("hits.txt");
System.IO.StreamReader srReadLine = new System.IO.StreamReader(
System.IO.File.OpenRead(filePath),
System.Text.Encoding.ASCII);//Encoding.Default是读中文
srReadLine.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);//
string countStr="";
if (srReadLine.Peek() > -1)
{
countStr+=srReadLine.ReadLine();
}
int count=int.Parse(countStr)+1;
countStr=count.ToString();
srReadLine.Close();
table_counter.Rows[1].Cells[0].InnerHtml="<font color=\"#009900\">";
for (int i=0;i<countStr.Length;i++)
{
table_counter.Rows[1].Cells[0].InnerHtml=table_counter.Rows[1].Cells[0].InnerHtml+"<img src="pic\\"+countStr.Substring(i,1)+".gif">";
}
table_counter.Rows[1].Cells[0].InnerHtml+="</font>";

// Write the string to a file.
System.IO.StreamWriter file = new System.IO.StreamWriter(filePath);
file.WriteLine(countStr,false);

file.Close();
srReadLine.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}