⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0007.htm

📁 ASP教程宝典 书籍语言: 简体中文 书籍类型: 网络编程 授权方式: 免费软件 书籍大小: 500 KB
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>使用集合</strong></big></p>

    <p ALIGN="JUSTIFY" class="font3">大多数 ASP  
    内建对象支持集合。集合是存储字符串、数字、对象和其他值的地方。除了在存储或取出项目时集合会自动扩展与搜索外,集合与数组非常相近。与数组不同的是,集合被修改后,项目的位置将会移动。可以通过集合中项目的名称、索引或者通过在集合的所有项目中遍历访问项目。</p> 
    <p ALIGN="JUSTIFY" class="font3">通过名称和索引访问项目</p> 
    <p ALIGN="JUSTIFY" class="font3">通过使用项目名称可以访问集合中的具体项目。例如,Contents  
    集合拥有在 Session 对象中保存的所有变量。同样也拥有由  
    Server.CreateObject 创建的所有对象。假设在 Session  
    对象中存储了下列用户信息:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;%</p> 
    <p ALIGN="JUSTIFY" class="font3">Session.Contents(&quot;FirstName&quot;) = &quot;Sam&quot;</p> 
    <p ALIGN="JUSTIFY" class="font3">Session.Contents(&quot;LastName&quot;) = &quot;Woo&quot;</p> 
    <p ALIGN="JUSTIFY" class="font3">Session.Contents(&quot;Age&quot;) = 29</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">可以使用在集合中存储项目时关联的名称访问项目。例如,下面的表达式返回字符串?/FONT&gt;Sam”:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;%= Session.Contents(&quot;FirstName&quot;) %&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">通过使用与项目关联的索引或号码也可以访问项目。例如,下面的表达式检索存储在  
    Session 对象的第二个存储槽中的信息并且返回?/FONT&gt;Woo”:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;%= Session.Contents(2) %&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">ASP 集合从 1  
    开始编号。当在集合中增加或删除项目时,与项目关联的索引将会改变。所以不能认为项目的索引始终不变。正如将在下面的主题中说明的那样,利用索引的访问一般用来遍历集合,或访问只读集合中的项目。</p> 
    <p ALIGN="JUSTIFY" class="font3">通过使用速记的名称可以访问项目。ASP  
    以特定的顺序搜索与对象关联的集合。如果在对象的集合中特定名称的项目只出现一次的话,可以消除该集合的名称:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;%= Session(&quot;FirstName&quot;) %&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">访问存储在 Application 或 Session  
    对象中的项目时,消除集合名称一般是安全的。但是,对于 Request  
    对象,最好指定集合名称,因为该集合很可能包含重复的名称。</p> 
    <p ALIGN="JUSTIFY" class="font3">遍历集合</p> 
    <p ALIGN="JUSTIFY" class="font3">在集合的所有项目中遍历可以了解集合中存储的项目或修改项目。遍历集合时,必须提供集合名称。例如,可以使用  
    VBScript 中的 For...Each 语句访问存储在 Session 对象中的项目:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;% </p> 
    <p ALIGN="JUSTIFY" class="font3">'Declare a counter variable.</p> 
    <p ALIGN="JUSTIFY" class="font3">Dim Item </p> 
    <p ALIGN="JUSTIFY" class="font3">'For each item in the collection, display its value.</p> 
    <p ALIGN="JUSTIFY" class="font3">For Each Item in Session.Contents </p> 
    <p ALIGN="JUSTIFY" class="font3">Response.Write Session.Contents(Item) &amp;  
    &quot;&lt;BR&gt;&quot;</p> 
    <p ALIGN="JUSTIFY" class="font3">Next</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">可以使用 VBScript 中的 For...Next  
    语句遍历集合。例如,要列出上例中存储在 Session  
    中的三个项目,可以使用下列语句。</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;% </p> 
    <p ALIGN="JUSTIFY" class="font3">'Declare a counter variable.</p> 
    <p ALIGN="JUSTIFY" class="font3">Dim Item</p> 
    <p ALIGN="JUSTIFY" class="font3">'Repeat the loop until the value of counter is equal to  
    3.</p> 
    <p ALIGN="JUSTIFY" class="font3">For Item = 1 to 3</p> 
    <p ALIGN="JUSTIFY" class="font3">Response.Write Session.Contents(Item) &amp;  
    &quot;&lt;BR&gt;&quot;</p> 
    <p ALIGN="JUSTIFY" class="font3">Next</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">因为一般不知道存储在集合中的项目个数,ASP  
    支持集合的 Count 属性,这个属性返回集合中的项目数。可以使用  
    Count 属性指定计数器的终值。</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;% </p> 
    <p ALIGN="JUSTIFY" class="font3">'Declare a counter variable.</p> 
    <p ALIGN="JUSTIFY" class="font3">Dim Item</p> 
    <p ALIGN="JUSTIFY" class="font3">'Repeat this loop until the counter equals the number of  
    items</p> 
    <p ALIGN="JUSTIFY" class="font3">'in the collection.</p> 
    <p ALIGN="JUSTIFY" class="font3">For Item = 1 to Session.Contents.Count</p> 
    <p ALIGN="JUSTIFY" class="font3">Response.Write Session.Contents(Item) &amp;  
    &quot;&lt;BR&gt;&quot;</p> 
    <p ALIGN="JUSTIFY" class="font3">Next</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">可以在脚本中使用 for  
    语句在集合中循环。在 JScript 的 for 语句中使用 Count  
    属性时,为了收到更大的效果,应该将 Count  
    值分配给本地变量并使用该变量设置计数器终值。这样,脚本引擎就不需要每次循环都查寻  
    Count 的值。下面的例子展示了这个技巧:</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;% </p> 
    <p ALIGN="JUSTIFY" class="font3">var item, numitems;</p> 
    <p ALIGN="JUSTIFY" class="font3">numitems = Session.Contents.Count;</p> 
    <p ALIGN="JUSTIFY" class="font3">for (item = 1; item &lt;= numitems; item++) {</p> 
    <p ALIGN="JUSTIFY" class="font3">Response.Write(Session.Contents(item) +  
    &quot;&lt;BR&gt;&quot;)</p> 
    <p ALIGN="JUSTIFY" class="font3">}</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">Microsoft JScript 3.0 引入了 Enumerator  
    对象。可以使用该对象遍历 ASP 集合。atEnd  
    方法指出了集合中是否还存在项目。moveNext  
    方法移动到集合中的下一个项目。</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;%</p> 
    <p ALIGN="JUSTIFY" class="font3">// Create an Enumerator object</p> 
    <p ALIGN="JUSTIFY" class="font3">var mycoll = new Enumerator(Session.Contents);</p> 
    <p ALIGN="JUSTIFY" class="font3">//Iterate through the collection and display each item</p> 
    <p ALIGN="JUSTIFY" class="font3">while (!mycoll.atEnd()) {</p> 
    <p ALIGN="JUSTIFY" class="font3">var x = mycoll.item();</p> 
    <p ALIGN="JUSTIFY" class="font3">Response.Write(Session.Contents(x) +  
    &quot;&lt;BR&gt;&quot;);</p> 
    <p ALIGN="JUSTIFY" class="font3">mycoll.moveNext();</p> 
    <p ALIGN="JUSTIFY" class="font3">}</p> 
    <p ALIGN="JUSTIFY" class="font3">%&gt;</p> 
    <p ALIGN="JUSTIFY" class="font3">遍历带子关键字 (Subkeys) 的集合</p> 
    <p ALIGN="JUSTIFY" class="font3">脚本在单一 cookie  
    中嵌入相关值以减少在浏览器和 Web 服务器之间传送的 cookie  
    数目。因此 Request 和 Response 对象的 Cookies  
    集合能够在单一项目中拥有多个值。这些子项目或子关键字可以被单个访问。只有  
    Request.Cookies 和 Response.Cookies 集合支持子关键字 (Subkeys)。Request.Cookies  
    只支持读操作;Response.Cookies 只支持写操作。</p> 
    <p ALIGN="JUSTIFY" class="font3">可以列举 Request.Cookie 集合中所有的 cookie  
    以及 Cookie 中所有的子关键字 (Subkeys)。但是,如果在没有子关键字  
    (Subkeys) 的 Cookie 上遍历子关键字,将不会产生任何结果。通过使用  
    .HasKeys 语法首先检查 cookie 是否含有子关键字 (Subkeys),就可以避免这种情况。下面的这个例子展示了这个技巧。</p> 
    <p ALIGN="JUSTIFY" class="font3">&lt;% </p> 
    <p ALIGN="JUSTIFY" class="font3">'Declare counter variables</p> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -