接北京北大青鳥校區提供的上篇文章:
怎樣使用工程和類
現在我們有了我們自己的工程(Example1)和類名(HelloWorld).以后我們就會在ASP代碼中使用它們的名字來引用這個組件.在ASP中我們就這樣引用,如下:
Set ObjReference = Server.CreateObject(ProjectName.ClassName)
對于我們工程的引用就是:
Set ObjReference = Server.CreateObject(Example1.HelloWorld)
現在我們就能用ObjReference來調用我們在組件中所創建的函數,子程序.下面我們會來寫一個 SayHello的子程序, 我們執行它的代碼如下: (北京北大青鳥校區)
〈%
Set ObjReference = Server.CreateObject(Example1.HelloWorld)
ObjReference.SayHello
%>
為了在Helloword類中使用ASP的方法,你必須在此類中寫一個OnStartPage
子函數.如下:
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
End Sub
現在,無論什么時候用戶訪問一個帶有本組件的ASP文件,IIS就會把ScriptingContext傳送給我們的對象請我們使用.這個ScriptingContext包括了全部的ASP方法和屬性.實現上,這使得我們有能力訪問所有ASP的對象.看下面的代碼: (北京北大青鳥校區)
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub
以后我們就能用在VB中用MyApplication 來代替ASP中的Application,同理可以代替Request,Server.....,不過我們來是要在 OnStartPage之前來申明這些變量:
Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session
使用ASP的對象
我們的變量現在就能像標準的ASP對象來使用了!比如,我們經常在ASP中用Request.form()來收集提交表單的數據.現在我們在我們的VB中實現這個功能,代碼如下:
用ASP中實現:
〈%
MyTempVariable = Request.Form(userName)
Response.Write (you entered & MyTempVariable & as your user name)
%>
在VB中實現:
MyTempVariable = MyRequest.Form(userName)
MyResponse.Write (you entered & MyTempVariable & as your user name)
通過使用MyResponse來代替Response,我們能夠使用所有Response的方法,當然,MyResponse這個名字可以隨便來取,你甚至可以就取Response. (北京北大青鳥校區提供)