asp系列讲座(八)使用一套
按名称和索引访问项目
集合中的具体项目可以通过使用项目的名称来访问。例如,内容集合了所有的变量保存在会话对象。它也有所有的对象创建server.createobject.it假设下列用户信息存储在会话对象:
会议内容(FirstName)=山姆
会议内容(姓)=宇
会话内容()= 29
%>
当项目存储在集合中时,可以使用关联的名称来访问一个项目。例如,下面的表达式返回到字符串山姆:
也可以通过使用与项目相关联的索引或数字来访问项目:
ASP收集编号1。当一个项目中添加或删除一个集合,与项目相关的指标会发生变化。所以你不能认为该项目的指标都是一样的。将在以下主题的解释,对索引的访问通常是用来遍历收集,或访问的只读集合的项。
一个项目可以利用shorthand.asp搜索一组是在一个特定的命令对象相关联的名称来访问。如果一个特定名称的项目出现在一个对象的集合只有一次,该组的名称可以消除:
在访问应用程序或会话对象中存储的项目时,消除集合名通常是安全的。然而,对于请求对象,最好指定set名称,因为该集合可能包含重复的名称。
遍历集合
遍历集合中的所有项目可以理解存储在集合中的项目或修改项目。当遍历集合时,必须提供集合的名称…每个语句可以访问存储在Session对象中的项目:
声明一个计数器变量。
昏暗的项目
对于集合中的每个项,显示其值。
会话中的每个项目。
响应。写入会话。内容(项目)
下一个
%>
您可以使用…在VBscript下一语句遍历集合。例如,名单上面的例子在会话三中存储的项目,你可以使用下面的语句。
声明一个计数器变量。
昏暗的项目
重复循环,直到计数器的值等于3。
对于项目= 1到3
响应。写入会话。内容(项目)
下一个
%>
由于在集合中存储的项目数量一般不为人所知,ASP支持集合的计数属性,该属性返回集合中的项数。
声明一个计数器变量。
昏暗的项目
重复这个循环,直到计数器等于项数。
在收藏中。
项目= 1 session.contents.count
响应。写入会话。内容(项目)
下一个
%>
你可以使用脚本中的语句集合中的循环。当使用计数属性在for语句Jscript,为了获得更大的效果,我们应该为局部变量分配值和设置计数器端值这个变量。这样,脚本引擎不需要发现每次计数的值。下面的示例显示技术:
VaR的项目,numitems;
numitems = session.contents.count;
(项目= 1;项目)
响应。写(session.contents(项目)+
)
}
%>
微软Jscript 3介绍枚举器对象,这个对象可以用来遍历ASP采集,最后方法指示是否有集合中的一个项目。集合中的下一个项目的MoveNext方法移动。
枚举数对象 / /创建
VaR迈酷=新的枚举器(会议内容);
遍历集合并显示每个项
而(!Mycoll.atEnd()){
var x = mycoll.item();
响应。写(session.contents(x)+
;
Mycoll.moveNext();
}
%>
遍历带密钥集(子项)
脚本嵌入相关值在一个单一的cookie来减少传输之间的Web Cookie的数量。因此,请求和响应对象的Cookies集合可以在一个单一的项目有多个值。这些子项或子项可以单独访问。只有请求。饼干和响应。饼干集支持的子项(子项)。request.cookies只支持读操作;饼干只支持写操作的响应。
你可以枚举请求所有的饼干。饼干组和所有子项(子项)Cookie中。然而,如果子项横贯于饼干无子项(子项),没有结果会产生。这可避免通过检查cookie包含子项(子项)利用the.haskeys句法优先下面的示例显示技术。
声明计数器变量
昏暗的小甜饼,Subkey
显示整个cookie集合。
对于每个cookie的请求。
响应。编写cookie
如果请求。饼干(饼干)。然后HasKeys
显示子项
在要求每个子项。饼干(饼干)
响应。写子项=的要求。饼干(饼干)(子)
下一个
其他的
响应。在这个cookie写无子项
最后如果
下一个
%>
遍历对象集合
收集的会话和应用程序可以节省大量的变量或对象的一个实例。收集内容有量的变量和对象实例调用server.createobject.the静的物体集合,有一个对象使用HTML元素在Global.asa文件创建。
当遍历对象的集合时,可以访问对象标识符或对象的方法和属性。例如,假设应用程序使用某些对象创建用户帐户,每个对象都有初始化方法。它可以遍历集合调用每个初始化方法的静的物体。
每个对象在session.staticobjects
InitializeUser session.staticobjects(对象)。
下一个
%>
ASP组的区别是什么
尽管本主题中讨论的ASP集合与Visual Basic的集合对象非常相似,但它仍然有些不同,ASP集合支持计数属性和项方法,但不支持添加和删除方法。