ASP 3.0高级编程(十九)

2016-01-29 19:12 4 1 收藏

ASP 3.0高级编程(十九),ASP 3.0高级编程(十九)

【 tulaoshi.com - ASP 】

  5.3.2 Dictionary对象示例
       本书提供了一系列示例文件可用来试验脚本运行时间库的各种属性。
       本章代码的缺省页面提供了一系列可使用的VBScript示例链接。有些示例对JScript同样有效。这些示例存放在Chapter05目录下相应的子目录里,显示的界面如图5-2所示:

图5-2  ASP脚本运行期对象示例页面
       要查看Dictionary对象的运行,在菜单页面点击第一个链接,打开名叫show_dictionary.asp的页面。这个页面显示了我们提供的Dictionary对象的内容,允许试验其属性和方法。屏幕如图5-3所示:

图5-3  Dictionary对象的属性和方法
1.  Dictionary的global.asa文件
随Dictionary对象示例页面提供的文件之一是global.asa。它创建并预先填充了一个会话层作用域的Dictionary对象,因此其内容在页面请求之间不会丢失。一般说来(考虑到可扩展性),这不是一个理想的做法。在这个例子里,可以看到Dictionary的属性和方法的效果。
如果在自己的服务器上下载并安装示例,必须创建一个基于此global.asa文件的虚拟应用程序。或者将其内容添加到缺省站点的根文件夹中的global.asa文件里。在第3章讲述了如何用向导创建虚拟应用程序。然而对于本示例,创建一个虚拟应用程序最简单的方法是在Chapter05示例文件夹内右击dictionary子文件夹,在Properties对话框的Home Directory选项卡里,点击Create按钮,如图5-4所示:

图5-4  创建虚拟应用程序
在这个global.asa文件里,代码使用<OBJECT元素创建一个会话层作用域的Scripting.Dictionary对象实例。然后在Session_onStart事件处理程序里将一系列值用Add方法放入Dictionary中,并将对Dictionary对象的引用指定给ASP会话变量MyDictionary:
<OBJECT ID="objBookList" RUNAT="SERVER" SCOPE="SESSION"
        PROGID="Scripting.Dictionary"
</OBJECT

<SCRIPT LANGUAGE="VBScript" RUNAT="SERVER"

Sub Session_onStart()
  objBookList.Add "2610", "Professional Active Server Pages 3.0"
  objBookList.Add "1274", "Instant JavaScript"
  objBookList.Add "2882", "Beginning ASP Components"
  objBookList.Add "1797", "Professional ASP Techniques"
  objBookList.Add "1835", "AD0 2.0 Programmer's Reference"
  Set Session("MyDictionary") = objBookList
End Sub

</SCRIPT
2.  Dictionary示例页面
在“Scripting.Dictionary Object”主页面里,首要的任务是得到一个会话层作用域的Dictionary对象实例的引用。注意,这个引用是一个对象变量,因此必须在VBScript里使用Set关键字。
然后,检查一下是否得到了一个对象(这是个好习惯),如果没有正确地建立包含global.asa文件的虚拟应用程序,检查一下问题出在哪里。你将看到我们自己的消息代替了ASP的错误消息(但是注意,对于这一操作必须关闭缺省的错误处理)。
<%

on error resume next  ' turn off error handling to test if object exists

'retrieve Dictionary object from user's session
Set objMyData = Session("MyDictionary")

If IsObject(objMyData) Then  'found Dictionary object in Session

%

<P<DIV CLASS="subhead"Iterating the Dictionary with Arrays</DIV
<%
arrKeysArray = objMyData.Keys           'get all the keys into an array
arrItemsArray = objMyData.Items         'get all the items into an array
For intLoop = 0 To objMyData.Count - 1   'iterate through the array
    Response.Write "Key: <B" & arrKeysArray(intLoop) & "</B &nbsp; Value: <B" _
                 & arrItemsArray(intLoop)& "</B<BR"
Next
%

… Other code and controls go here …

  <%
Else

  'could not find Dictionary object

来源:http://www.tulaoshi.com/n/20160129/1508734.html

延伸阅读
标签: ASP
  使用ServerVariables集合     当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。为显示 ServerVariables集合中值的使用方式,在Request Object页面(...
标签: ASP
  3.3 ASP的Application对象和Session对象        本章已经讨论了两个ASP对象:Application对象和Session对象,因此能够访问Application对象和Session对象提供的集合、方法、属性和事件。本节将从程序设计的角度对这两个对象进行研究。         · ...
标签: ASP
  1.3   ASP Server对象 正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。 例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优...
标签: ASP
  (4)  删除虚拟应用程序 单击“Remove”按钮不会真正地删除Internet Services Manager中的该条目。而是把现有的虚拟应用程序转换为一个虚拟目录。这个目录有一个带有蓝色球的“文件夹”图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向。对它进行的访问方式与创建它的虚拟应...
标签: ASP
  第四章      服务器进程和ASP Server对象 前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。 Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,...

经验教程

172

收藏

54

精华推荐

ASP 3.0高级编程(一)

ASP 3.0高级编程(一)

cheneyfanpku

ASP 3.0高级编程(三)

ASP 3.0高级编程(三)

老天72

ASP 3.0高级编程(十四)

ASP 3.0高级编程(十四)

go忧伤渲染流年

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部