ASP學習筆記

1、 瀏覽器輸出

response.write 命令用來向瀏覽器寫輸出

<%

response.write("Hello World!")

%>

簡寫形式:

<%="Hello World!"%>

在 ASP 中使用 VBScript

你可以在 ASP 中使用若干種腳本語言。不過,默認的腳本語言是 VBScript

在 ASP 中使用 JavaScript

如果需要使用 JavaScript 作爲某個特定頁面的默認腳本語言,就必須在頁面的頂端插入一行語言設定:

<%@ language="javascript"%>

<html>

<body>

<%

Response.Write("Hello World!")

%>

</body>

</html>

子程序

ASP 源代碼可包含子程序和函數:

<html><head>

<%                   定義子程序

subvbproc(num1,num2)

response.write(num1*num2)

endsub

%>

</head>

<body>

<p>Result: <%call vbproc(3,4)%></p>      調用子程序

</body></html>

將 <%@language="language" %> 這一行寫到 <html> 標籤的上面,就可以使用另外一種腳本語言來編寫子程序或者函數:

<%@ language="javascript"%>

<html><head>

<%

functionjsproc(num1,num2)

{

Response.Write(num1*num2)

}

%>

</head>

<body>

<p>Result: <%jsproc(3,4)%></p>

</body></html>

程序嵌套

<%IfSession("screenres")="low" Then%> 

 This is the text version of the page

<%Else%> 

 This is the multimedia version of the page

<%End If%>

ASP 表單和用戶輸入

Request.QueryString 和 Request.Form 命令可用於從表單取回信息,比如用戶的輸入。

Request.QueryString 命令用於蒐集使用 method="get" 的表單中的值。使用 GET 方法從表單傳送的信息對所有的用戶都是可見的(出現在瀏覽器的地址欄),並且對所發送信息的量也有限制。

<body>

<%

response.write(request.querystring("fname"))

response.write(" " &request.querystring("lname"))

%>

</body>

Request.Form 命令用於蒐集使用 "post" 方法的表單中的值。使用 POST 方法從表單傳送的信息對用戶是不可見的,並且對所發送信息的量也沒有限制。

<body>

<%

response.write(request.form("fname"))

response.write(" " &request.form("lname"))

%>

</body>

Application 對象

在一起協同工作以完成某項任務的一組 ASP 文件稱作應用程序(application)。ASP 中的 Application 對象用於將這些文件捆綁在一起。Application 對象用於存儲和訪問來自任何頁面的變量,類似於 session 對象。不同之處在於,所有的用戶分享一個 Application 對象,而 session 對象和用戶的關係是一一對應的。

Application 對象存有會被應用程序中的許多頁面使用的信息(比如數據庫連接信息)。這意味着可以從任何的頁面訪問這些信息。同時也意味着你可在一個地點改變這些信息,然後這些改變會自動反映在所有的頁面上。

存儲和取回Application 變量

Application 變量可被應用程序中的任何頁面訪問和改變。可以像這樣在 "Global.asa" 中創建 Application 變量:

<script language="vbscript"runat="server">

Sub Application_OnStart

application("vartime")=""

application("users")=1

End Sub

</script>

在上面的例子中,我們創建了兩個 Application 變量:"vartime" 和 "users"。

可以像這樣訪問 Application 變量的值:

There are

<%

Response.Write(Application("users"))

%>

active connections.

.asa文件

首先.asa是文件後綴名,它是Active Server Application的首字母縮寫。Global.asa 文件是一個可選的文件,它可包含可被 ASP 應用程序中每個頁面訪問的對象、變量以及方法的聲明。所有合法的瀏覽器腳本都能在 Global.asa 中使用。Global.asa文件可以管理在ASP應用中兩個非常苛刻的對象:Application、Session。

它其實是一個可選文件,程序編寫者可以在該文件中指定事件腳本,並聲明具有會話和應用程序作用域的對象。該文件的內容不是用來給用戶顯示的,而是用來存儲事件信息和由應用程序全局使用的對象。該文件必須存放在應用程序的根目錄內。每個應用程序只能有一個Global.asa文件。

關於Global.asa文件最常見的錯誤概念是它能爲一般的使用的函數和子程序用作書庫。Global.asa文件僅能用於創建對象的引用和俘獲啓動,以及結束Application對象和Session對象。

Global.asa 它可包含可被 ASP 應用程序中每個頁面訪問的對象、變量以及方法的聲明。所有合法的瀏覽器腳本都能在 Global.asa 中使用。

包含事件

Application 事件

Session 事件

<object> 聲明

TypeLibrary 聲明

#include 指令

被調用

Global.asa文件主要基於會話級事件被訪問,在以下三種情況下被調用:

1,當Application_OnStart或Application_OnEnd事件被觸發。

2,當Session_OnStart或Session_OnEnd事件被觸發。

3,當引用一個在Global.asa文件裏被實例化的對象(Object)。

文件引用

#include 指令用於在多重頁面上創建需重複使用的函數、頁眉、頁腳或者其他元素等。

<html>

<body>

<h2>Words of Wisdom:</h2>

<p><!--#includefile="wisdom.inc"--></p>

<h2>The time is:</h2>

<p><!--#includefile="time.inc"--></p>

</body>

</html>

關鍵詞 Virtual

關鍵詞 virtual 指示路徑以虛擬目錄開始。

如果 "header.inc" 文件位於虛擬目錄 /html 中,下面這行代碼會插入文件 "header.inc" 中的內容:

<!-- #include virtual="/html/header.inc" -->

關鍵詞 File

關鍵詞 File 指示一個相對的路徑。相對路徑起始於含有引用文件的目錄。

假設文件位於 html 文件夾的子文件夾 headers 中,下面這段代碼可引用 "header.inc" 文件的內容:

<!-- #include file="headers\header.inc" -->

 

 

 

 

 

 

 

 

 

 

Response對象

Response.End 停止輸出

Response.Buffer=true 是否緩存頁面輸出

Response.Clear清空緩存

Response.Flush 立即發送緩存到瀏覽器

<%Response.Expires=-1%> 緩存時間,-1表示不緩存,每次訪問都刷新

Response.IsClientConnected=true 用戶是否保持連接

Request 對象

用於從用戶那裏取得信息

<%

If Request.QueryString<>""Then

      IfRequest.QueryString("name")<>", " Then

          name1=Request.QueryString("name")(1)

          name2=Request.QueryString("name")(2)

     end if

end if

%>

集合

描述

ClientCertificate

包含了在客戶證書中存儲的字段值

Cookies

包含了 HTTP 請求中發送的所有 cookie 值

Form

包含了使用 post 方法由表單發送的所有的表單(輸入)值

QueryString

包含了 HTTP 查詢字符串中所有的變量值

ServerVariables

包含了所有的服務器變量值

ServerVariables

http_user_agent

remote_addr

remote_host

request_method

server_name

server_port

server_software

 

Application 對象

Web 上的一個應用程序可以是一組 ASP 文件。這些 ASP 在一起協同工作來完成一項任務。而 ASP 中的 Application 對象的作用是把這些文件捆綁在一起。

Application 對象用於存儲和訪問來自任意頁面的變量,類似 Session 對象。不同之處在於所有的用戶分享一個 Application 對象,而 session 對象和用戶的關係是一一對應的。

Application 對象掌握的信息會被應用程序中的很多頁面使用(比如數據庫連接信息)。這就意味我們可以從任意頁面訪問這些信息。也意味着你可以在在一個頁面上改變這些信息,隨後這些改變會自動地反映到所有的頁面中。

集合

描述

 

Contents

包含所有通過腳本命令追加到應用程序中的項目。

 

StaticObjects

包含所有使用 HTML 的 <object> 標籤追加到應用程序中的對象。

 

方法

描述

Contents.Remove

從 Contents 集合中刪除一個項目。

Contents.RemoveAll()

從 Contents 集合中刪除所有的項目。

Lock

防止其餘的用戶修改 Application 對象中的變量。

Unlock

使其他的用戶可以修改 Application 對象中的變量(在被 Lock 方法鎖定之後)。

事件

描述

Application_OnEnd

當所有用戶的 session 都結束,並且應用程序結束時,此事件發生。

Application_OnStart

在首個新的 session 被創建之前(這時 Application 對象被首次引用),此事件會發

 

Session對象

ASP Server 對象的作用是訪問有關服務器的屬性和方法。其屬性和方法描述如下:

屬性

描述

ScriptTimeout

設置或返回在一段腳本終止前它所能運行時間(秒)的最大值。

方法

描述

CreateObject

創建對象的實例(instance)。

Execute

從另一個 ASP 文件中執行一個 ASP 文件。

GetLastError()

返回可描述已發生錯誤狀態的 ASPError 對象。

HTMLEncode

將 HTML 編碼應用到某個指定的字符串。

MapPath

將一個指定的地址映射到一個物理地址。

Transfer

把一個 ASP 文件中創建的所有信息傳輸到另一個 ASP

當第二個 ASP 完成任何時,它不會返回到第一個 ASP 頁面。

註釋:Transfer 方法是 Response.Redirect 的一個高效的替代方案。重定向強制 Web 服務器處理額外的請求,而 Server.Transfer 在服務器上向另外的 ASP 頁面傳輸執行,避免了額外的周折。

URLEncode

把 URL 編碼規則應用到指定的字符串。

 

ADO

從 ASP 頁面訪問數據庫

從 ASP 文件內部訪問數據庫的通常途徑是:

  1. 創建至數據庫的 ADO 連接(ADO connection)
  2. 打開數據庫連接
  3. 創建 ADO 記錄集(ADO recordset)
  4. 打開記錄集(recordset)
  5. 從數據集中提取你所需要的數據
  6. 關閉數據集
  7. 關閉連接

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章