Asp组件中级入门与精通系列之六

作为 Asp 的内置对象,我们最后来学习 Server 对象

Server 对象用的比较多的就是 Html 编码 ,Url 编码和网页的重定向,传送。

?

打开 vb6, 新建 Activex Dll 工程。工程名修改为 fCom, 类名修改为 fZ6
引用 “Microsoft Active Server Pages Object” 对象库。
创建两个组件事件: OnStartPage 以及 OnEndPage
在事件 OnStartPage 中创建类 ScriptingContent 的一个引用。
实例化类 ScriptingContent 。

?

代码如下:

Option Explicit

' 对象的声明

Dim myResponse As Response

Dim myRequest As Request

Dim myApplication As Application

Dim myServer As Server

Dim mySession As Session

?

??? ' 当组件被创建的时候会触发这个事件

Public Sub OnStartPage(myScriptingContent As ScriptingContext)

???? ' 进行对象的实例化

???? Set myResponse = myScriptingContent.Response

???? Set myRequest = myScriptingContent.Request

???? Set myServer = myScriptingContent.Server

???? Set myApplication = myScriptingContent.Application

???? Set mySession = myScriptingContent.Session

End Sub

?

??? ' 当组件被销毁的时候触发这个事件

Public Sub OnEndPage()

???? ' 销毁对象

???? Set myResponse = Nothing

???? Set myRequest = Nothing

???? Set myServer = Nothing

???? Set myApplication = Nothing

???? Set mySession = Nothing

End Sub

?

Public Sub ShowHtml(ByVal strHtml As String)

??? myResponse.Write myServer.HTMLEncode(strHtml)

End Sub

?

Public Sub ShowUrl(ByVal strUrl As String)

??? myResponse.Write myServer.URLEncode(strUrl)

End Sub

?

Public Sub ExecuteUrl()

??? myServer.Transfer "fz5.asp"

End Sub

?

编译成 Dll 文件 , 系统自动会注册。

否则就手工注册 Regsvr32 f:\test\fcom.dll

?

测试

打开 visual interdev6.0, 生成一个 fz6.asp 文件

1@ Language=VBScript 
 1 
 2
 3dim obj 
 4
 5set obj=server.CreateObject ("fcom.fz6") 
 6
 7obj.ShowHtml " 
 8
 9# 
10
11呵呵  测试一下  " 
12
13Response.Write "   
14" 
15
16Response.Write "name=" 
17
18obj.ShowUrl("Mrs  龙卷风  ") 
19
20Response.Write "&age=" 
21
22obj.ShowUrl("26") 
23
24? 
25
26Response.Write "   
27" 
28
29call obj.ExecuteUrl () 

?

配置好虚拟目录,在 ie 中执行 fc6.asp 文件可以看到

呵呵 测试一下
name=Mrs+%C1%FA%BE%ED%B7%E7&age=26

可以使用 IE 的查看源文件来看 HTML 编码

?

?

?

ASP 的内置对象就暂时介绍到这里,后面我们还会陆续的学习。

大家也可以举一反三,学习没有介绍到的属性和方法。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus