VB.NET编程语言的实现方法比较特殊,可以在一定程度上提高编程员的开发效率。比如像本文介绍的VB.NET网页计数器的实现,就可以以一种简单灵活的方式来实现。今天下午自己做了一个VB.NET网页计数器。请大家一起来看看具体的实现方法。
其实网上有很多的第三方计数器,用了发现速度慢,很不爽的是还要注册,所以自己网上查查资料自己写了一个,很好用。 其实原理也很简单。目前流行的制作方法有两种,一种方法是把“计数”放在数据库中。第二种方法把“计数”放在txt文件中。我采用了后者,主要涉及在global.asax文件中进行文件的读写和计数的累加。
VB.NET网页计数器实现代码:
- Imports System.Web
- Imports System.Web.SessionState
- Imports System.io
- Imports System.Collections
- Imports System.ComponentModel
- Imports System
- Namespace Transplat
- Public Class Global
- Inherits System.Web.HttpApplication
- #Region " 组件设计器生成的代码 "
- Public Sub New()
- MyBase.New()
- '该调用是组件设计器所必需的。
- InitializeComponent()
- '在 InitializeComponent()
调用之后添加任何初始化- End Sub
- '组件设计器所必需的
- Private components As
System.ComponentModel.IContainer
注意: 以下过程是组件设计器所必需的可以使用组件设计器修改此过程。不要使用代码编辑器修改它。
- < System.Diagnostics.DebuggerStep
Through()> Private Sub
InitializeComponent()- components = New System.
ComponentModel.Container- End Sub
- #End Region
- Sub Application_Start(ByVal
sender As Object, ByVal e As EventArgs)- ' 在应用程序启动时激发
- Dim count As Integer = 0
- Dim srd As StreamReader
- Dim file_path As String =
Server.MapPath("counter.txt")- srd = File.OpenText(file_path)
- Dim str As String
- Do While srd.Peek() >= 0
- str = srd.ReadLine()
- count = Integer.Parse(str)
- Loop
- Dim obj As Object = count
- Application("counter") = obj
- srd.Close()
- End Sub
- Sub Session_Start(ByVal sender
As Object, ByVal e As EventArgs)- ' 在会话启动时激发
- Application.Lock()
- Dim jishu As Integer = 0
- jishu = Integer.Parse(Application
("counter").ToString)- jishujishu = jishu + 1
- Dim obj As Object = jishu
- Application("counter") = obj
将数据记录写入文件
- Dim file_path As String =
Server.MapPath("counter.txt")- Dim fs As StreamWriter =
New StreamWriter(file_path, False)- fs.WriteLine(jishu)
- fs.Close()
- End Sub
- Sub Application_BeginRequest
(ByVal sender As Object,
ByVal e As EventArgs)- ' 在每个请求开始时激发
- End Sub
- Sub Application_Authenticate
Request(ByVal sender As Object,
ByVal e As EventArgs)- ' 尝试对使用进行身份验证时激发
- End Sub
- Sub Application_Error(ByVal
sender As Object, ByVal e As EventArgs)- ' 在发生错误时激发
- End Sub
- Sub Session_End(ByVal sender
As Object, ByVal e As EventArgs)- ' 在会话结束时激发
- End Sub
- Sub Application_End(ByVal
sender As Object, ByVal e As EventArgs)- ' 在应用程序结束时激发
- Dim js As Integer
- js = Integer.Parse(Application
("counter").ToString)
将数据记录写入文件
- Dim file_path As String =
Server.MapPath("counter.txt")- Dim fs As StreamWriter =
New StreamWriter(file_path, False)- fs.WriteLine(js)
- fs.Close()
- End Sub
- End Class
- End Namespace
以上的文件保存在global.asax.vb中。
我比较喜欢用dreamweaver结合vs.net开发,需要用到计数器的地方只需要加一个语句< %=application("counter")%>即可得到计数的值。可以做的好看一点就把数值的每一位分解成单个的字符,如1234分解后对应的图片为,1.gif,2.gif,3.gif,4.gif,显然图片对应的数字更美观。下面是在模版中的部分代码:
- < div align="center">
- < p>版权所有© 2006
中国科学院遥感应用研究所 < /p>- < FONT face="宋体" color=
"#330033">您是本站的第- < % dim s as string
- dim I as integer
- s=cstr(application("counter")+10^6)
- s=mid(s,2,6)
- for I=1 to 6
- %>
- < img src='../image/counter/
< %=mid(s,I,1)%>.gif' width='15'
height='20'>- < %next%>位访问者!< /FONT>
- < /div>
VB.NET网页计数器的具体实现方法就为大家介绍到这里。
【编辑推荐】