|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。编程|初级6.2.4Counters组件
Counters组件能用于创立、存储、递增和检索每一个计数器的值。不要把它和本章前面将要先容的PageCounter组件搅浑,Counters组件能用于撑持任何品种数据的统计。
一个计数器含有一个整数值,能经由过程Counters组件的办法举行运算。利用Set办法设置计数器的指定值,用Get办法检索计数器中的值,利用Increment办法使计数器的值加1,利用Remove办法删除一个计数器。一切的计数器的值存储在一个名为Counters.txt的文本文件中,可在Counters.dll组件地点的目次中找到该文件。
1.Counters组件的成员
Counters组件供应了用于保护每一个计数器组件中数值的四个办法,如表6-4所示:
表6-4Counters组件办法及申明
方法
说明
Get(counter_name)
前往指定计数器确当前值,假如此计数器先前没有创立,品德创立并设置成0,其前往值为0
Increment(counter_name)
增添指定计数器确当前值,假如此计数器先前没有创立,起首创立并设置为1
Remove(counter_name)
删除指定的计数器
Ser(counter_name,value)
把指定计数器的值设置成参数value供应的整数值,假如此计数器先前没有创立,先创立并设定为指定值
2.利用Counters组件
因为Counters.txt文件唯一一个一切组件实例都能会见的拷贝。因而,应当只创立单个的Counters组件实例,而且使之对Web网站的一切页面都是可用的,完成这一点的经常使用办法是在缺省Web站点根目次下的global.asa文件中创立一个使用程序局限的实例。
接纳上面程序:
<!--declareinstanceoftheASPCounterscomponentwithapplication-levelscope
-->
<OBJECTID="objCounters"RUNAT="Server"SCOPE="Application"
PROGID="MSWC.Counters">
</OBJECT>
可使用Counters组件对必要完成的义务创立一个新的计数器。鄙人面的程序中,给出了有三项选择的查询拜访成绩,并对每种选择的回覆次数举行了统计,当利用者提交包括三项选择的窗体后,将调进这个页面。假定选项经由过程点击SUBMIT按钮的cmdYes、cmdNo和cmdMaybe来选择,其对应值分离是“是”、“否”和“大概”。
<%inVBScript”
IfRequest.Form("cmdYes")="Yes"ThenobjCounter.Increment("Response_Yes")
IfRequest.Form("cmdNo")="No"ThenobjCounter.Increment("Response_No")
IfRequest.Form("cmdMaybe")="Maybe"Then
objCounter.Increment("Response_Maybe")
%>
假如这是第一次收到一个指定的呼应,程序将创立一个新的计数器并主动初始化为1。
计数器在利用局限上没无限制,由于Counters工具创立在文件global.asa中,这意味着在假造使用程序或Web网站中创立的任何一个页面中都是可用的,以是这个“查询拜访计数器”可用在使用程序的任何页面上,记着单个的Counters工具能供应所需的很多自力计数器,不必要创立良多Counters工具实例。
在后面的AdRotator组件页面示例中,研讨了怎样利用Counters组件存储每一个告白主的点击次数,也能够在页面中利用Counters组件的Get办法显现以后值。
WroxPress:<B><%=objCounters.Get("wrox")%></B><BR>
Stonebroom:<B><%=objCounters.Get("stonebroom")%></B><BR>
Xtras:<B><%=objCounters.Get("xtras")%></B><BR>
ComponentSource:<B><%=objCounters.Get("compsrc")%></B><BR>
FourCDs:<B><%=objCounters.Get("fourcds")%></B><BR>
Lunar:<B><%=objCounters.Get("lunar")%></B><BR>
每次加载页面时,都主动更新计数器确当前值。但是页面也包括有一些控件能挪用Counters组件的其他两个办法,即删除一个计数器(相称于将其设置为0)和将计数器设置成一个指定命值,如-6所示:
-6Counters组件的利用演示
这些控件在一个<FORM>上,点击任何一个小的空缺按钮时,此窗体便提交给统一个页面,办法与本章中的一切页面所用的几近一样。上面的程序是为Remove办法创立控件的HTML代码。
<FORMACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>"METHOD="POST">
<INPUTTYPE="SUBMIT"NAME="cmdRemove"VALUE="">
Counter.Remove("
<SELECTNAME="lstRemove"SIZE="1">
<OPTIONVALUE="wrox">WroxPress</OPTION>
<OPTIONVALUE="stonebroom">Stonebroom</OPTION>
<OPTIONVALUE="xtras">Xtras</OPTION>
<OPTIONVALUE="compsrc">ComponentSource</OPTION>
<OPTIONVALUE="fourcds">FourCDs</OPTION>
<OPTIONVALUE="lunar">Lunar</OPTION>
</SELECT>")<P>
…
</FORM>
当载进页面时,经由过程反省Request.Form汇合检察点击的按钮,假如找到了某个按钮,将运转代码的响应部分。在点击Remove按钮的情形下,响应的代码是:
IfLen(Request.Form("cmdRemove"))Then
strCounterName=Request.Form("lstRemove")getthecountername
objCounters.RemovestrCounterName
Response.Write&</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 |
|