ASP 3.0高级编程(十九)

我心全是你

我心全是你

2016-01-29 19:12

ASP 3.0高级编程(十九),ASP 3.0高级编程(十九)
  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
展开更多 50%)
分享

猜你喜欢

ASP 3.0高级编程(十九)

ASP
ASP 3.0高级编程(十九)

ASP 3.0高级编程(三十九)

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

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP 3.0高级编程(二十九)

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

ASP 3.0高级编程(五)

ASP
ASP 3.0高级编程(五)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP 3.0高级编程(六)

ASP
ASP 3.0高级编程(六)

ASP 3.0高级编程(九)

ASP
ASP 3.0高级编程(九)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ASP 3.0高级编程(九)

ASP 3.0高级编程(九)

MathType--公式使用不再烦恼

MathType--公式使用不再烦恼
下拉加载更多内容 ↓