ASP编程入门进阶(十五):组件Counters
程序员文章站
2023-11-24 20:09:58
该组件用于创建一个或多个计数器,这些计数器用于跟踪某一网页或某一网站访问次数的信息。你只能创建一个计数器组件,但该组件可以有多于一个的计数器。一旦创建了计数器,它将一直持续...
该组件用于创建一个或多个计数器,这些计数器用于跟踪某一网页或某一网站访问次数的信息。你只能创建一个计数器组件,但该组件可以有多于一个的计数器。
一旦创建了计数器,它将一直持续下去直到被删除为止。
计数器不会在一个事件比如访问一页时自动增加。你必须使用set和increment方法人工的设置或增长计数器。
计数器不受作用域限制。一旦创建了一个计数器,那么站点上的任何页都可以检索和控制它的值。
一、counters.set & counters.get
counters.set主要用来设置记数初始值,counters.get则是用来提取记数的值。
1,counts_set.asp
用法很简单,首先“counters=server.createobject("mswc.counters")”表示建立了一counters组件的连接;counters.set "cnbruce",10表示记数了名为“cnbruce”的初始值10;counters.get("cnbruce")就表示提取名为“cnbruce”的记数值了。
二、counters.increment
该方法的功能是:记数每次加一。在上例中你刷新页面,记数是不会添加的,所以现在换用increment方法。
2,counts_inc.asp
基本代码相似,主要就是counters.increment的功能累加1。
根据累加可以做个简单的投票系统了。
3,vote.asp
功能是选择某单选按钮后提交,其对应的记数值则counters.increment
三、counters.remove
该对象则是起的记数清空的作用了。
4,remove.asp
通过今天的接触可以总结出,一个简单的记数系统已经有两种方法:使用application对象、使用counters组件。但更多的还有采用fso,或者是需要数据库的就是后话慢慢谈了。
在我们使用asp组件时候还要注意一些东西:
当我们使用服务器组件创建对象时,一般有两种方法。比较常用的方法是用server对象的createobject() 方法,象这样:
set nextlink = server.createobject("mswc.nextlink")
这种方法很好用,但是还有一种方法更节省系统资源。因为当你用server.createobject()方法创建对象时,对象立即被加载,同时系统为这个对象分配好内存和其它资源。
第二种创建对象的方法是利用html的<object>标记,语法是这样的:
<object runat=sever id=nextlink progid="mswc.nextlink" ></object>
利用<object>标记创建对象时,你要创建的对象不被马上加载,而是等到这个对象的方法或属性第一次被引用时才加载。这样,我们就会节省一些资源。虽然不是很多,但是当你的系统每天要承受近百万次的点击时,这对节省服务器资源就很有帮助了。(pine译注)
如其所言:我们的counters则可以放于global.asa中
<object runat=server scope=application id=counter progid="mswc.counters"></object>
一旦创建了计数器,它将一直持续下去直到被删除为止。
计数器不会在一个事件比如访问一页时自动增加。你必须使用set和increment方法人工的设置或增长计数器。
计数器不受作用域限制。一旦创建了一个计数器,那么站点上的任何页都可以检索和控制它的值。
一、counters.set & counters.get
counters.set主要用来设置记数初始值,counters.get则是用来提取记数的值。
1,counts_set.asp
<% set counters=server.createobject("mswc.counters") counters.set "cnbruce",10 counters.set "it365cn",20 counters.set "blueidea",30 %> 共有<%= counters.get("cnbruce") %>次访问 cnbruce.com 网站 <br> 共有<%= counters.get("it365cn") %>次访问 it365cn.com 网站 <br> 共有<%= counters.get("blueidea") %>次访问 blueidea.com 网站 <br> |
用法很简单,首先“counters=server.createobject("mswc.counters")”表示建立了一counters组件的连接;counters.set "cnbruce",10表示记数了名为“cnbruce”的初始值10;counters.get("cnbruce")就表示提取名为“cnbruce”的记数值了。
二、counters.increment
该方法的功能是:记数每次加一。在上例中你刷新页面,记数是不会添加的,所以现在换用increment方法。
2,counts_inc.asp
<% set counters=server.createobject("mswc.counters") %> 共有<%= counters.increment("cnbruce") %>次访问 cnbruce.com 网站 <br> 共有<%= counters.increment("it365cn") %>次访问 it365cn.com 网站 <br> 共有<%= counters.increment("blueidea") %>次访问 blueidea.com 网站 <br> |
基本代码相似,主要就是counters.increment的功能累加1。
根据累加可以做个简单的投票系统了。
3,vote.asp
<% set counters=server.createobject("mswc.counters") vote = request.querystring("site") counters.increment(vote) %> vote for your favorite site: <form name="voting for sites" method="get" action="vote.asp"> <input type="radio" name="site" value="cnbruce">cnbruce <input type="radio" name="site" value="it365cn">it365cn <input type="radio" name="site" value="blueidea">blueidea <br><input type="submit" value="submit vote"> </form> current vote tally:<br> cnbruce: <% =counters.get("cnbruce") %><br> it365cn: <% = counters.get("it365cn") %><br> blueidea: <% = counters.get("blueidea") %><br> |
功能是选择某单选按钮后提交,其对应的记数值则counters.increment
三、counters.remove
该对象则是起的记数清空的作用了。
4,remove.asp
<% set counters=server.createobject("mswc.counters") vote = request.querystring("site") clear = request.querystring("clear") counters.increment(vote) if not clear="" then counters.remove("cnbruce") counters.remove("it365cn") counters.remove("blueidea") end if %> vote for your favorite site: <form name="voting for sites" method="get" action="remove.asp"> <input type="radio" name="site" value="cnbruce">cnbruce <input type="radio" name="site" value="it365cn">it356cn <input type="radio" name="site" value="blueidea">blueidea <br><input type="submit" value="submit vote"> </form> current vote tally:<br> cnbruce: <% =counters.get("cnbruce") %><br> it365cn: <% = counters.get("it365cn") %><br> blueidea: <% = counters.get("blueidea") %> <form name="clear counters" method="get" action="remove.asp"> <br><input type="submit" value="clear the counters" name="clear"> </form> |
通过今天的接触可以总结出,一个简单的记数系统已经有两种方法:使用application对象、使用counters组件。但更多的还有采用fso,或者是需要数据库的就是后话慢慢谈了。
在我们使用asp组件时候还要注意一些东西:
当我们使用服务器组件创建对象时,一般有两种方法。比较常用的方法是用server对象的createobject() 方法,象这样:
set nextlink = server.createobject("mswc.nextlink")
这种方法很好用,但是还有一种方法更节省系统资源。因为当你用server.createobject()方法创建对象时,对象立即被加载,同时系统为这个对象分配好内存和其它资源。
第二种创建对象的方法是利用html的<object>标记,语法是这样的:
<object runat=sever id=nextlink progid="mswc.nextlink" ></object>
利用<object>标记创建对象时,你要创建的对象不被马上加载,而是等到这个对象的方法或属性第一次被引用时才加载。这样,我们就会节省一些资源。虽然不是很多,但是当你的系统每天要承受近百万次的点击时,这对节省服务器资源就很有帮助了。(pine译注)
如其所言:我们的counters则可以放于global.asa中
<object runat=server scope=application id=counter progid="mswc.counters"></object>