admin 管理员组

文章数量: 1086019


2024年3月6日发(作者:源代码结局有几版)

ASP Counters组件

Counters组件能用于创建、存储、递增和检索每个计数器的值。不要把它和本章上面介绍的Page Counter组件混淆,Counters组件能用于支持任何种类数据的统计。

一个计数器含有一个整数值,能通过Counters组件的方法进行运算。使用Set方法设置计数器的指定值,用Get方法检索计数器中的值,使用Increment方法使计数器的值加1,使用Remove方法删除一个计数器。所有的计数器的值存储在一个名为的文本文件中,可在组件所在的目录中找到该文件。

1.Counters组件的成员

Counters组件提供了用于维护每个计数器组件中数值的4个方法,如下所示:

 Get(counter_name)

返回指定计数器的当前值,如果此计数器先前没有创建,此时创建并设置成0,其返回值为0。

 Increment(counter_name)

增加指定计数器的当前值,如果此计数器先前没有创建,首先创建并设置为1。

 Remove(counter_name) 删除指定的计数器。

 Set(counter_name,value)

把指定计数器的值设置成参数value提供的整数值,如果此计数器先前没有创建,先创建并设定为指定值。

计数器是一个包含整数的持续值。可以使用Counters组件的Get、Increment、Set和 Remove方法控制计数器。一旦创建了计数器,它将

一直持续下去直到被删除为止。

2.使用Counters组件

由于文件仅有一个所有组件实例都能访问的拷贝。因此,应该只创建单个的Counters组件实例,并且使之对Web网站的所有页面都是可用的,实现这一点的常用方法是在默认Web站点根目录下的文件中创建一个应用程序范围的实例。

例如,要创建一个作用域为Application的Counters组件,可用语句:

PROGID="rs">

可以使用Counters组件对需要完成的任务创建一个新的计数器。在下面的程序中,给出了有三项选择的调查问题,并对每一种选择的回答次数进行了统计,当使

用者提交包含三项选择的窗体后,将调入这个页面。假设,选项通过点击SUBMIT按钮的cmdYes、cmdNo和cmdMaybe来选择,其对应值分别是“是”、“否”和“可能”。

<%

If ("cmdYes") = "Yes" Then ent("Response_Yes")

If ("cmdNo") = "No" Then ent("Response_No")

If ("cmdMaybe") = "Maybe" Then

ent("Response_Maybe")

%>

如果这是第一次收到一个指定的响应,程序将创建一个新的计数器并自动初始化为1。

计数器在使用范围上没有限制,因为Counters对象创建在文件中,这意味着在虚拟应用程序或Web网站中创建的任何一个页面中都是可用的,所以这个“调查计数器”可用在应用程序的任何页面上,记住单个的Counters对象能提供所需的许多独立计数器,不需要创建很多Counters对象实例。

在前面的Ad Rotator组件示例中可以随机显示广告商的广告,学习Counters组件后可以使用它存储每个广告的单击次数,也可以在页面中使用Counters组件的Get方法显示当前值。

IT教程网: <% = ("itZcn") %>

服务提供商: <% = ("webZcn") %>

上述语句在每次加载页面时,都自动更新计数器的当前值。然而页面也包含有一些控件能调用Counters组件的其他两个方法,即删除一个计数器(相当于将其设置为0)和将计数器设置成一个指定数值。

当载入页面时,通过检查集合查看单击的按钮,如果找到了某个按钮,将运行代码的相应部分。在单击删除按钮的情况下,相应的代码是:

If Len(("cmdRemove")) Then

strCounterName = ("lstRemove") '获取要删除的计数器名称

strCounterName

"已经删除计数器: '" & strCounterName & "'.

"

End If

对于设置一个计数器值的方法类似,但不仅仅需要从文本框中读取新值。因为在调用设置方法之前,还要检查文本框中的值是否是有效值。语句如下:

If Len(("cmdSet")) Then

strCounterName = ("lstSet") '要设置的计数器名称

strNewValue = ("txtSet") '要设置的值

If IsNumeric(strNewValue) Then '如果新值是数字

intNewValue = CInt(strNewValue) '转换为整型

strCounterName, intNewValue

"Set counter '" & strCounterName & _

"' to " & strNewValue & ".

"

Else

"'" & strNewValue & "' is not a valid number.

"

End If

End If

使用页面中的按钮调用Counters对象的方法时,重新载入时会在页面顶端看到一段信息和计数器中的新值。


本文标签: 计数器 创建 组件 方法