VB.NET網(wǎng)頁(yè)計(jì)數(shù)器代碼編寫(xiě)方法介紹
VB.NET編程語(yǔ)言的實(shí)現(xiàn)方法比較特殊,可以在一定程度上提高編程員的開(kāi)發(fā)效率。比如像本文介紹的VB.NET網(wǎng)頁(yè)計(jì)數(shù)器的實(shí)現(xiàn),就可以以一種簡(jiǎn)單靈活的方式來(lái)實(shí)現(xiàn)。今天下午自己做了一個(gè)VB.NET網(wǎng)頁(yè)計(jì)數(shù)器。請(qǐng)大家一起來(lái)看看具體的實(shí)現(xiàn)方法。
其實(shí)網(wǎng)上有很多的第三方計(jì)數(shù)器,用了發(fā)現(xiàn)速度慢,很不爽的是還要注冊(cè),所以自己網(wǎng)上查查資料自己寫(xiě)了一個(gè),很好用。 其實(shí)原理也很簡(jiǎn)單。目前流行的制作方法有兩種,一種方法是把“計(jì)數(shù)”放在數(shù)據(jù)庫(kù)中。第二種方法把“計(jì)數(shù)”放在txt文件中。我采用了后者,主要涉及在global.asax文件中進(jìn)行文件的讀寫(xiě)和計(jì)數(shù)的累加。
VB.NET網(wǎng)頁(yè)計(jì)數(shù)器實(shí)現(xiàn)代碼:
- 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 " 組件設(shè)計(jì)器生成的代碼 "
- Public Sub New()
- MyBase.New()
- '該調(diào)用是組件設(shè)計(jì)器所必需的。
- InitializeComponent()
- '在 InitializeComponent()
調(diào)用之后添加任何初始化- End Sub
- '組件設(shè)計(jì)器所必需的
- Private components As
System.ComponentModel.IContainer
注意: 以下過(guò)程是組件設(shè)計(jì)器所必需的可以使用組件設(shè)計(jì)器修改此過(guò)程。不要使用代碼編輯器修改它。
- < 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)- ' 在應(yīng)用程序啟動(dòng)時(shí)激發(fā)
- 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)- ' 在會(huì)話啟動(dòng)時(shí)激發(fā)
- Application.Lock()
- Dim jishu As Integer = 0
- jishu = Integer.Parse(Application
("counter").ToString)- jishujishu = jishu + 1
- Dim obj As Object = jishu
- Application("counter") = obj
將數(shù)據(jù)記錄寫(xiě)入文件
- 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)- ' 在每個(gè)請(qǐng)求開(kāi)始時(shí)激發(fā)
- End Sub
- Sub Application_Authenticate
Request(ByVal sender As Object,
ByVal e As EventArgs)- ' 嘗試對(duì)使用進(jìn)行身份驗(yàn)證時(shí)激發(fā)
- End Sub
- Sub Application_Error(ByVal
sender As Object, ByVal e As EventArgs)- ' 在發(fā)生錯(cuò)誤時(shí)激發(fā)
- End Sub
- Sub Session_End(ByVal sender
As Object, ByVal e As EventArgs)- ' 在會(huì)話結(jié)束時(shí)激發(fā)
- End Sub
- Sub Application_End(ByVal
sender As Object, ByVal e As EventArgs)- ' 在應(yīng)用程序結(jié)束時(shí)激發(fā)
- Dim js As Integer
- js = Integer.Parse(Application
("counter").ToString)
將數(shù)據(jù)記錄寫(xiě)入文件
- 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結(jié)合vs.net開(kāi)發(fā),需要用到計(jì)數(shù)器的地方只需要加一個(gè)語(yǔ)句< %=application("counter")%>即可得到計(jì)數(shù)的值??梢宰龅暮每匆稽c(diǎn)就把數(shù)值的每一位分解成單個(gè)的字符,如1234分解后對(duì)應(yīng)的圖片為,1.gif,2.gif,3.gif,4.gif,顯然圖片對(duì)應(yīng)的數(shù)字更美觀。下面是在模版中的部分代碼:
- < div align="center">
- < p>版權(quán)所有© 2006
中國(guó)科學(xué)院遙感應(yīng)用研究所 < /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%>位訪問(wèn)者!< /FONT>
- < /div>
VB.NET網(wǎng)頁(yè)計(jì)數(shù)器的具體實(shí)現(xiàn)方法就為大家介紹到這里。
【編輯推薦】