




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1、创建 ASP 网页 22、使用脚本语言 83、使用变量和常量 114、与客户端脚本交互操作165、编写过程196、使用集合227、处理用户输入298、使用组件和对象379、设置对象作用域4110、将内容发送到浏览器4511、包含文件5212、管理会话5413、访问数据源6214、理解事务7715、调试 ASP 脚本8216、内置 ASP 对象86创建 ASP 网页Active Server Pages (ASP) 文件是带有 .asp 扩展名的文本文件,它由下列内容组合而成: 文本 HTML 标记 服务器端脚本 使用 .asp 扩展名重命名现有的 .htm 或 .html 文件可以快速创建 .asp 文件。如果文件不包含任何 ASP 功能,则服务器不进行 ASP 脚本处理,并很快将文件发送到客户端。这为 Web 开发人员提供了极大的灵活性,因为即使目前不希望在文件中添加 ASP 功能,也可以使用 .asp 作为扩展名。要在 Web 上发布 .asp 文件,请将新文件保存到网站上的虚拟目录(确保目录启用了“脚本”或“执行”权限)。然后,使用浏览器输入文件的 URL 来请求文件。(请注意,必须处理 ASP 网页,因此您无法通过输入其物理路径请求 .asp 文件)。在浏览器中加载文件之后,可以发现服务器返回了 HTML 页。这看起来有些奇怪,但要记住在发送文件之前,服务器将解析并执行所有 ASP 服务器端脚本。用户将始终接收到标准的 HTML。可以使用任意文本编辑器创建 .asp 文件。随着对编辑器的深入使用,您将发现使用具有更多 ASP 支持的编辑器(如 Microsoft Visual InterDev 等)效率更高。详细信息,请访问 Microsoft Visual InterDev 网站。添加服务器端脚本命令服务器端脚本是一系列指令,用于向 Web 服务器连续发出命令。(如果您以前开发过网站,可能对运行在 Web 浏览器的客户端脚本较为熟悉)。在 .asp 文件中,脚本通过分隔符与文本和 HTML 标记区分开来。“分隔符”是一个或一组字符,用来标明单元的起始和结束。HTML 的分隔符是小于 () 号,中间包含着 HTML 标记。ASP 使用分隔符 来包括脚本命令。在分隔符之间,可以包括任何符合所用脚本语言规范的命令。下面将给出包含脚本命令的 HTML 页示例: 上次刷新此页的时间:. VBScript 函数 Now() 返回当前的日期和时间。Web 服务器处理此页时,将 替换为当前日期和时间,并将此页的下列结果返回到浏览器:上次刷新此页的时间:01/29/99 2:20:00 PM.由分隔符括起的命令称为“主脚本命令”。这些命令使用主脚本语言进行处理。脚本分隔符内使用的任何命令必须符合主脚本语言的规定。默认情况下,主脚本语言为 VBScript。也可以设置其他默认语言。请参阅使用脚本语言。如果已经对客户端脚本较为熟悉,您一定了解用于封闭脚本命令和表达式的 HTML 标记。当需要在一个 .asp 文件中以多种语言定义过程时,也可以对服务器端脚本使用 标记。详细信息,请参阅使用脚本语言。混合使用 HTML 和脚本命令可以在 ASP 分隔符内包括主脚本语言所允许的任何语句、表达式、过程或操作符。VBScript 和其他脚本语言中的“语句”是在语法上完全独立的单元,用来表示某种动作、声明或定义。下面给出的条件语句 If.Then.Else 便是常用的 VBScript 语句。% Dim dtmHour dtmHour = Hour(Now() If dtmHour 根据时间的不同,此脚本将值“Good Morning!”或值“Hello!”分配给字符串变量 strGreeting。 语句则将变量的当前值发送到浏览器。这样,如果用户在中午 12:00(以 Web 服务器所在时区为准)之前查看此脚本,将看到如下文字:早上好!如果在中午 12:00 之后查看此脚本,则文字变为:您好!可以将 HTML 文本包括在一个语句的不同部份之间。例如下列脚本将 HTML 文本夹在 If.Then.Else 语句之中,所得到的结果与上例相同:% Dim dtmHour dtmHour = Hour(Now() If dtmHour 早上好! 您好!如果条件为真,即如果时间在中午之前,Web 服务器将条件之后的 HTML 文本(“Good Morning”)发送到浏览器,否则向浏览器发送 Else(“Hello!”)之后的 HTML 文本。这种将 HTML 和脚本命令混合使用的方法对于将多行 HTML 文本嵌入 If.Then.Else 语句十分方便。如果想在网页中的多个地方显示问候语,上面的示例是很有帮助的。只需设置一次变量值,便可重复用于显示。如果不想将 HTML 文本分散在脚本命令之间,也可以从脚本命令内将 HTML 文本返回浏览器。可以使用 ASP 内置对象 Response 将文本返回浏览器。下列示例程序与上面两个脚本的输出结果相同:% Dim dtmHour dtmHour = Hour(Now() If dtmHour Response.Write 将其后面的文本发送到浏览器。如果希望动态创建返回到浏览器的文本,请在语句中使用 Response.Write。例如,可以建立包含多个变量值的字符串。如希望详细学习 Response 对象以及其他常用对象,请参阅使用组件和对象以及将内容发送到浏览器。而现在,可以使用多种方法将脚本命令插入 HTML 网页。可以将使用默认主脚本语言编写的过程包括在 ASP 分隔符之内。详细信息,请参阅使用脚本语言。如果您正在使用 JScript 命令,可以将作为语句块标志的大括号直接插入 ASP 命令,即使它们穿插在 HTML 标记和文本之间。例如:这是一个纯文本网页。这是一个多媒体网页。-或-使用 ASP 指令ASP 提供了您所使用的脚本语言中未包括的指令:输出指令和处理指令。ASP 的输出指令 显示表达式的值。此输出指令与使用 Response.Write 所显示的信息相同。例如,输出表达式 将在浏览器上显示单词 Baltimore(变量的当前值)。ASP 的“处理指令” 为 ASP 提供处理 .asp 文件所需的信息。例如,下列指令将 VBScript 设置为网页的主脚本语言:处理指令必须位于 .asp 文件的首行。要在网页中添加多条指令,这些指令必须位于相同的分隔符内。请勿将处理指令置于由 #include 语句包括的文件内。(详细信息,请参阅包含文件。)必须在符号 和关键字之间加入空格。处理指令具有下列关键字: LANGUAGE 关键字设置 .asp 文件使用的脚本语言。请参阅使用脚本语言。 ENABLESESSIONSTATE 关键字指定 .asp 文件是否使用会话状态。请参阅管理会话。 CODEPAGE 关键字设置 .asp 文件的代码页(字符编码)。 LCID 关键字设置文件的区域设置标识符。 TRANSACTION 关键字指定 .asp 文件将在事务环境下运行。请参阅理解事务。 要点可以在一条指令中包含多个关键字。关键字/值对必须由空格分开。等号两边不要留有空格。下列示例既设置了脚本语言也设置了代码页:脚本中的空格如果主脚本语言是 VBScript 或 JScript,ASP 将从命令中删除空格。对于所有其他脚本语言,ASP 将保留空格,以便对书写位置或缩进有所要求的语言能被正确解释。空格包括一般的空格、制表符、回车符和行缩进等。对于 VBScript 和 JScript,可以在起始分隔符和结束分隔符之间使用空格,以使命令简单易读。下列语句均为有效:ASP 将删除语句结束分隔符和下一条语句的起始分隔符之间的空格。不过,使用空格来增强可读性倒是一个良好的习惯。如果需要保留两个语句间的空格(如显示语句中变量的值时),请使用 HTML 不间断空格符 ( )。例如:This Web page is customized for . 使用脚本语言编程语言(如 Visual Basic、C+ 和 Java)提供对计算机资源的低级访问,可用来创建复杂的大型程序。而脚本语言则用来创建功能有限的“脚本”程序,以便在 Web 服务器或浏览器上执行网站功能。与其他较复杂的编程语言不同,脚本语言是可以“解释”的,指令语句由中间程序(即命令解释程序)顺序执行。虽然解释过程降低了执行效率,但脚本语言简单易学并提供了强大的功能。脚本可以嵌入 HTML 网页中,确定内容的格式,也可以用来实现封装高级商业逻辑的 COM 组件。通过 Active Server Pages,Web 开发人员可以使用多种脚本语言编写在服务器上执行的脚本。实际上,在同一 .asp 文件中可以使用多种脚本语言。另外,由于脚本在服务器端读取和处理,因此,请求 .asp 文件的浏览器并不需要支持脚本。虽然可以使用任何脚本语言,但 Web 服务器上必须安装了该语言相应的脚本引擎。所谓“脚本引擎”就是一种处理以特定语言编写的命令的程序。Active Server Pages 提供两种脚本引擎:Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript。也可以安装和使用其他脚本语言的引擎,如 REXX、PERL 和 Python。VBScript 是 Visual Basic 的一个子集。因此,对于 Visual Basic 编程人员,可以立即开始使用。尽管 JScript 与 Java 或 C 没有直接关系,但对于 Java、C 或 C+ 编程人员,可能会发现 JScript 语法非常熟悉。对于熟悉其他脚本语言(如 REXX、Perl 或 Python)的开发人员,可以获取并安装相应的脚本引擎,以便继续使用已经熟知的语言。Active Server Pages 是一种 COM 脚本主机;要使用脚本语言,必须安装一种脚本引擎,而且此脚本引擎需要符合 COM 脚本标准并作为 COM(组件对象模型)驻留在 Web 服务器上。设置主脚本语言 ASP 主脚本语言是一种用于处理 分隔符内命令的语言。默认情况下,主脚本语言为 VBScript。可以使用任何脚本语言作为主脚本语言,但必须安装此语言相应的脚本引擎。既可以逐页设置主脚本语言,也可以一次性设置 ASP 应用程序中所有网页的主脚本语言。设置应用程序的语言要设置对应用程序中所有网页的主脚本语言,只需在 Internet 信息服务管理单元中“应用程序选项”选项卡上设置“默认 ASP 语言”。详细信息,请参阅配置 ASP 应用程序。设置网页的语言要单独设置每个网页的主脚本语言,只需在 .asp 文件开始处添加 。此命令的语法为:其中,ScriptingLanguage 是要设置的特定网页的主脚本语言。单独网页的主语言将覆盖对应用程序中所有网页的全局设置。必须遵守 ASP 命令的使用原则;详细信息,请参阅创建 ASP 网页。注意要使用不支持 Object.Method 语法的语言作为主脚本语言,必须首先创建 LanguageEngines 注册表项。详细信息,请参阅关于注册表。在服务器上使用 VBScript 和 JScript在服务器上与 ASP 一起使用 VBScript 时,将禁用两个 VBScript 功能。因为使用 Active Server Pages 编写的脚本将在服务器上执行,所以不支持用来提供用户界面元素的 VBScript 语句 InputBox 和 MsgBox。另外,不要在服务器端脚本中使用 VBScript 函数 CreateObject 和 GetObject。而应使用 Server.CreateObject,以便 ASP 可以跟踪对象例程。由 CreateObject 语句或 GetObject 语句创建的对象既不能访问 ASP 内置对象,也不能参与事务。但在使用 IIS Admin 对象或 Java 标记时例外。详细信息,请参阅使用 IIS Admin 对象和从 Java 类创建对象。关于所有 VBScript 和 JScript 操作符、函数、语句、对象、属性和方法的列表与说明,请参阅“VBScript 语言参考”和“JScript 语言参考”。可以在 Windows Script Technologies 网站上找到这些参考。包含注释因为 ASP 中的所有脚本都在服务器端进行处理,所以,没有必要使用 HTML 注释标记对不支持脚本的浏览器隐藏脚本,但这是客户端脚本的通常做法。所有 ASP 命令都将在内容发送到浏览器之前处理。可以使用 HTML 注释向 HTML 页中添加备注;这些注释将被返回给浏览器,如果用户查看 HTML 源文件,将可以看到这些注释。VBScript 注释VBScript 支持撇号格式的注释。与 HTML 注释不同,处理脚本时将删除这些注释并且不会发送到浏览器。输出表达式中不能包含注释。例如,下面第一行能正常工作,而第二行则无法工作,因为此行以 %= 开始。 JScript 注释JScript 支持使用 / 作为注释符。每个注释行都必须使用这些符号。区分大小写VBScript 不区分大小写。例如,使用 Request 或 request 都可以引用 ASP Request 对象。因为不区分大小写,所以无法通过大小写来区分变量名。例如,无法创建两个单独的变量 Color 和 color。JScript 区分大小写。在脚本中使用 JScript 关键字时,键入的关键字必须与参考页中的关键字完全一样。例如,如果使用 date 而不是 Date 就会导致错误。本文档中所示 ASP 内置对象的大小写适用于 JScript 命令。使用变量和常量“变量”是计算机内存中已命名的存储位置,它包含数据,如数值或文本字符串。变量中包含的数据称为变量的“值”。变量使用有助于理解脚本功能的名称来存储、检索和管理值。声明和命名变量遵循下列脚本语言规则和原则来命名和声明变量。即使不要求在使用之前声明变量,但先声明变量的良好开发习惯将有助于减少错误。“声明”变量也就是告诉脚本引擎特定名称的变量已经存在,可以在脚本中引用此变量。VBScriptVBScript 不要求变量声明,但在使用之前先声明所有变量是一种良好的脚本编程习惯。可以使用 Dim、Public 或 Private 语句在 VBScript 中声明变量。例如:可以在 .asp 文件中使用 VBScript Option Explicit 语句,要求必须使用Dim、Private、Public 和 ReDim 语句显式声明变量。Option Explicit 语句必须位于任何 ASP 命令之后、任何 HTML 文本或脚本命令之前。此语句只影响使用 VBScript 编写的 ASP 命令;并不影响 JScript 命令。有关这些命令的详细信息,请参阅 Windows Script Technologies 网站中的“VBScript 语言参考”。JScript虽然 JScript 通常不要求变量声明,但在使用之前先声明所有变量是一个良好的脚本编程习惯。可使用 var 语句声明变量。例如:通常,只有在需要将函数内部变量与在函数外部使用的“全局”变量区分开时,才有必要在 JScript 中声明变量。在这种情况下,如果不区分两个变量,JScript 会假定只引用全局变量。关于 var 语句的详细信息,请参阅 Windows Script Technologies 网站中的“JScript 语言参考”。变量范围变量“范围”或生存期确定哪些脚本命令可以访问变量。在过程中声明的变量具有“局部范围”;每次执行过程时创建和消除此变量。无法从过程外部访问此变量。在过程外部声明的变量具有“全局范围”;ASP 网页中的任何脚本命令都可以访问和修改此变量值。注意将变量范围限制在过程中有利于提高性能。声明变量时,局部变量和全局变量可以同名。修改其中一个变量的值,不会影响另一个变量。不过,如果不声明变量,则有可能在无意中修改全局变量的值。例如,在下例中虽然有两个变量 Y,但脚本命令返回值 1:与此相反,在下例中因为没有显式声明变量,所以脚本命令返回值 2。当过程调用设置 Y 为 2 时,脚本引擎认为过程要修改全局变量:要避免此类问题的发生,有必要养成显式声明所有变量的习惯。这一点当使用 #include 语句在 .asp 文件中包含其他文件时尤其重要。被包含的脚本虽然在单独的文件中,但却当作是包含文件的一部分。除非声明变量,否则很容易忘记必须在主脚本和被包含脚本中使用不同的变量名。指定变量的 Session 或 Application 作用域 全局变量只能在单个 .asp 文件内访问。要从单独网页外部访问变量,需提供变量的 Session 或 Application 作用域。Session 作用域变量对单个用户请求的 ASP 应用程序的所有页都可用。Application 作用域变量对任何用户请求的 ASP 应用程序的所有页都可用。Session 变量适用于存储单个用户的信息,如首选项、用户名或标识。应用程序变量适用于存储特定应用程序所有用户的信息,如应用程序需要的特定欢迎词或常规值。ASP 提供了两种内置对象,您可以在其中存储变量:Session 对象和 Application 对象。也可以用 Session 或 Application 作用域来创建对象实例。详细信息,请参阅设置对象作用域。Session 作用域要给变量提供 Session 作用域,可通过给对象中已命名条目赋值将变量存储在 Session 对象中。例如,下列命令将在 Session 对象中存储两个新变量:要从 Session 对象中检索信息,可使用输出命令 (%=) 或 Response.Write 访问已命名的条目。下列示例使用输出命令显示 Session(FirstName) 的当前值:Welcome 可以在 Session 对象中存储用户首选项,然后通过访问这些首选项来确定将哪些页返回给用户。例如,可以允许用户在应用程序首页中指定只查看纯文本内容,然后将此项选择应用于用户在此应用程序中访问的所有后续页。 这是一个纯文本网页。 这是一个多媒体网页。注意如果在脚本中要多次引用 session 作用域变量,可以考虑如上例所示,将此变量赋给一个局部变量以便提高性能。Application 作用域要提供变量 Application 作用域,可通过给对象中已命名条目赋值来将变量存储在 Application 对象中。例如,下列命令在 Application 对象中存储应用程序特定的欢迎词:要从 Application 对象中检索信息,可使用 ASP 输出命令 (%=) 或 Response.Write 来从应用程序中的任何后续页访问已命名的条目。下列命令使用输出命令来显示 Application(Greeting) 的值:同样地,如果脚本重复引用 Application 作用域变量,应将此变量赋给全局变量以便提高性能。使用常量“常量”是用来取代数值或字符串的名称。随 ASP 提供的部分基本组件,如 ActiveX 数据对象 (ADO),定义了可在脚本中使用的常量。组件可以在“组件类型库”中声明常量,组件类型库是一个包含 COM 组件支持的对象和类型的信息的文件。一旦在 .asp 文件中声明了类型库,就可以在同一 .asp 文件的所有脚本中使用已定义的常量。类似地,可以在 Global.asa 文件中声明类型库,以便在应用程序的所有 .asp 文件中使用已定义的常量。要声明类型库,可以在 .asp 文件或 Global.asa 文件中使用 标签。例如,要声明 ADO 类型库,可使用下列语句:或者,如果不引用类型库的通用唯一标识符 (UUID),也可通过文件路径引用类型库:然后,即可在 .asp 文件中使用 ADO 常量,此文件声明了类型库或者驻留在包含 Global.asa 文件(声明了 ADO 类型库)的应用程序中。在下列例子中,adOpenKeyset 和 adLockOptimistic 是 ADO 常量:下表列出了常用的类型库和 UUID:类型库UUIDMicrosoft ActiveX Data Objects 2.5 Library00000205-0000-0010-8000-00AA006D2EA4Microsoft CDO 1.2 Library for Windows 2000 Server0E064ADD-9D99-11D0-ABE5-00AA0064D470MSWC Advertisement Rotator Object Library090ACFA1-1580-11D1-8AC0-00C0F00910F9MSWC IIS Log Object LibraryB758F2F9-A3D6-11D1-8B9C-080009DCC2FA关于 标签的参考信息,请参阅 TypeLibrary 声明。在以前版本的 ASP 中,部分组件以文件形式提供了常量定义,这些文件必须包含在使用这些常量的所有 ASP 文件中。虽然仍可以通过 #include 命令包含常量定义,但使用类型库更方便,也更容易升级脚本。在未来的 ASP 版本中,组件可能不提供常量定义文件。注意使用 标签(而不是 #include 命令)可以提高 Web 应用程序的性能。可以定义自己的常量。在 VBScript 中,使用 Const 语句。在 JScript 中,可以使用 var 语句将常量值赋给变量。如果要在多个 .asp 文件中使用常量,则需要将定义放在单独文件中,并在所有使用此常量的 .asp 文件中包含这些定义。与客户端脚本交互操作使用 ASP 生成或操作客户端脚本,可以增强 ASP 的有效性。例如,可以编写服务器端脚本,根据服务器特有的变量、用户浏览器类型或 HTTP 请求参数,对客户端脚本加以组合。如下例模板所示,向客户端脚本中添加一些服务器脚本语句(由 HTML 标记括起来),可以在请求时动态初始化和更改客户端脚本。!-变量 = .客户端脚本 客户端脚本. -结合这些功能,可开发出一些即有用又有趣的应用程序。例如,下面是一个对客户端脚本(使用 JScript 编写)进行操作的服务器端脚本(使用 VBScript 编写)示例: !- /调用函数显示问候语 showIntroMsg() function showIntroMsg() switch() case 0: msg = Web 服务器正在运行 。 break case 1: msg = 欢迎使用 Web 服务器。当地时间是 。 break case 2: msg = 此服务器正在运行 。 break document.write(msg) -可以扩展这种类型的脚本,例如配置客户端数据库或 DHTML 个性化脚本。创造性地运用这项技术,还可以减少往返过程和服务器处理时间。编写过程“过程”是一组脚本命令,可以执行特定任务并返回值。可以定义自己的过程,并在脚本中重复调用这些过程。可以将过程定义放在调用此过程的同一 .asp 文件中,或者可以将常用的过程放在共享的 .asp 文件中,并使用 #include 命令将此文件包含在调用此过程的其他 .asp 文件中。另外,您还可以将具有某种功能的过程封装在 COM 组件中。定义过程过程定义可以出现在 和 标签内,并且必须符合已声明的脚本语言的规则。用主脚本语言之外的其他语言编写的过程将使用 元素。但是,用主脚本语言编写的过程使用脚本分隔符()。使用 HTML 标签时,必须使用两个属性以便确保服务器端能够处理脚本。使用 标签的语法为: 过程定义RUNAT=SERVER 属性通知 Web 服务器处理服务器上的脚本。如果不设置此属性,将由客户端浏览器处理脚本。LANGUAGE 属性确定此脚本块使用的脚本语言。您可以为服务器指定任何语言,但服务器上必须已经安装了此语言的脚本引擎。可使用值“VBScript”指定 VBScript。可使用值“JScript”指定 JScript。如果没有设置 LANGUAGE 属性,则使用主脚本语言解释脚本块。脚本块中的命令必须以所选脚本语言形成一个或多个完整的过程。例如,下列命令定义 JScript 过程 MyFunction。 function MyFunction() Response.Write(您调用了 MyFunction()。) 要点不要在服务器端 标记内包含任何不属于完整过程的脚本命令。不属于过程的命令可能导致无法预知的结果,因为代码是按下列顺序执行的:先按照出现的顺序执行的非默认语言编写的脚本块,然后是内嵌代码,最后是用默认语言编写的脚本块。此外,不能在过程中使用 ASP 输出定向命令 。而应当使用 Response.Write 将内容发送到浏览器。调用过程要调用过程,需在命令中包含过程名。如果从 VBScript 中调用 JScript 过程,则过程名后必须使用括号;如果过程没有变量,则使用空括号。如果从 JScript 中调用 VBScript 或 JScript 过程,则过程名后必须总是使用括号。对于 VBScript,调用过程时也可以使用关键字 Call。不过,如果调用的过程要求变量,则变量列表必须包含在括号内。如果省略关键字 Call,同时也必须省略包含变量列表的括号。如果使用 Call 语句调用任何内置函数或用户定义函数,将丢弃函数的返回值。下例分别采用两种不同的脚本语言(VBScript 和 JScript)说明如何创建和调用过程。 % Response.Write & _ NameValue Set objQueryString = Request.QueryString For Each strSelection In objQueryString Response.Write & strSelection & & _ objQueryString(strSelection) & Next Response.Write End Sub % function printDate() var x x = new Date() Response.Write(x.toString() Response.Write() 注意VBScript 调用 JScript 函数时不区分大小写。将数组传递给过程要将整个数组传递给过程,在 VBScript 中,数组名后应紧接一对空括号;在 JScript 中则应使用空的方括号。使用集合多数 ASP 内置对象都提供集合。“集合”是类似于数组的数据结构,可存储字符串、数值、对象和其他值。与数组不同的是,集合可以根据所获得或存储的项目自动伸缩。随着集合发生变化,项目的位置也将变动。要访问集合中的项目,可以通过项目唯一的字符串关键字、项目在集合中的索引(位置)或迭代集合中的所有项目来实现。根据名称或索引访问项目可以通过引用唯一字符串关键字或名称来访问集合中的指定项目。例如,Contents 集合载有 Session 对象中存储的所有变量。它还可以载有通过调用 Server.CreateObject 而进行实例化的对象。假设您在 Session 对象中储存了下列用户信息:可以使用存入集合时与项目予以关联的字符串关键字访问此项目。例如,下列表达式返回字符串“Meng”:还可以使用与项目关联的索引或数字访问项目。例如,下列表达式获得存储在 Session 对象第二部分中的信息并返回“Phua”。ASP 集合的标号从 1 开始。当在集合中添加或删除项目时,与项目相关联的索引也将更改。不应将项目索引视为是一成不变的。索引访问通常用于迭代一个集合,如下列主题中所述,或访问只读集合中的项目。还可以使用速记符根据名称访问项目。ASP 可搜索与特定顺序的对象相关联的集合。如果具有特定名称的项目仅在对象集合中出现一次,则可以删除集合名称(尽管这样做会影响性能):当访问存储在 Application 或 Session 对象中的项目时,删除集合名称一般来说是安全的。但对于 Request 对象,指定集合名称则更为安全。因为集合很容易包含具有重复名称的项目。迭代集合可以迭代集合中的所有项目,查看集合中存储的信息或更改项目。进行集合迭代时必须提供集合名称。例如,可以使用 VBScript 中的 For.Each 语句访问存储在 Session 对象中的项目。% 声明计数器变量。 Dim strItem 显示集合中每个项目的值。 For Each strItem In Session.Contents Response.Write Session.Contents(strItem) & Next%还可以使用 VBScript 中的 For.Next 语句迭代集合。例如,列出通过上例存储在 Session 中的三个项目,可以使用下列语句:% 声明计数器变量。 Dim intItem 重复循环,直到计数器的值达到 3。 For intItem = 1 To 3 Response.Write Session.Contents(intItem) & Next%由于通常不知道集合中所存储的项目数,ASP 支持集合的 Count 属性,此属性返回集合中的项目个数。可以使用 Count 属性指定计数器的最大值。% 声明计数器变量。 Dim lngItem, lngCount lngCount = Session.Contents.Count 重复循环,直到计数器的值等于 集合中的项目个数。 For lngItem = 1 To lngCount Response.Write Session.Contents(lngItem) & Next%在 JScript 中,可以使用 for 语句可迭代集合。要提高在 JScript 的 for 语句中使用 Count 属性的效率,应将 Count 值分配给本地变量,并用此变量来设置计数器的最大值。这样,脚本引擎就不必每次循环都去查找 Count 值。以下示例说明了这一技巧:% var intItem, intNumItems; intNumItems = Session.Contents.Count; for (intItem = 1; intItem = intNumItems; intItem+) Response.Write(Session.Contents(intItem) + ) %Microsoft JScript 支持 Enumerator 对象,也可使用它来迭代 ASP 集合。atEnd 方法标明集合中是否还存在其他项目。moveNext 方法用于移动到下一个集合项目。% Session.Contents(Name) = Suki White Session.Contents(Department) = Hardware /创建枚举器对象。 var mycollection = new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度二手房买卖合同下载:房屋交易流程
- 二零二五年度a轮融资协议范本解析
- 2025版智能家居与安防一体化个人住宅装修合同
- 2025版电视产品定制开发合同范本
- 2025版厂房装修工程劳务分包合同协议书
- 2025版煤矿承包合作开发合同样本
- 二零二五年度消防设施维保服务补充协议范本
- 2025版搬家物流运输合同参考范本
- 二零二五年度房地产项目合作开发与建筑垃圾处理协议
- 二零二五年度绿色建筑房屋买卖中介服务合同
- 《英语句子成分》课件
- 河北农业大学分子生物学题库(带答案)
- AI办公效率提升讲座
- 2025四川建筑安全员-C证考试(专职安全员)题库及答案
- 张志伟-德国古典哲学选读-费希特和谢林
- DB51-T 2968-2022 经济开发区安全风险评估导则
- 饮料制造企业环境管理制度要求
- 医学影像学课件
- 广东省惠州市2024-2025学年上学期期中考试七年级数学试卷
- 北师版九年级数学 第四章 图形的相似 知识归纳与题型突破(十一类题型清单)
- 六年级数学上册第二单元《位置与方向》测试题-人教版(含答案)
评论
0/150
提交评论