分享
 
 
 

ASP编程入门进阶(十五):组件Counters

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

该组件用于创建一个或多个计数器,这些计数器用于跟踪某一网页或某一网站访问次数的信息。你只能创建一个计数器组件,但该组件可以有多于一个的计数器。

一旦创建了计数器,它将一直持续下去直到被删除为止。

计数器不会在一个事件比如访问一页时自动增加。你必须使用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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有