ASP クイックリファレンス

CodeW3C.comからのASPの迅速なリファレンス。印刷してポケットに入れて、いつでも使えるようにしましょう。

基本文法

ASP スクリプトは <% と %> で囲まれています。これによりブラウザに内容を出力します:

<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>

ASP でのデフォルトの言語は VBScript です。他のスクリプト言語を使用する場合は、ASP ページの先頭に言語宣言を挿入してください:

<%@ language="javascript" %>
<html>
<body>
<%
....
%>

フォームとユーザー入力

Request.QueryString は method="get" のフォームの値を収集するために使用されます。GET を通じてフォームを送信した情報は、すべてのユーザーに見え(ブラウザのアドレスバーに表示されます)、送信するデータの量にも制限があります。

Request.Form は method="post" のフォームの値を収集するために使用されます。POST を通じてフォームを送信した情報は、他のユーザーには見えず、送信するデータの量に制限はありません。

ASP クッキー

cookie はユーザーを識別する一般的な用語です。cookie はサーバーがユーザーのコンピュータに埋め込む小さなファイルです。同じコンピュータがブラウザを通じて同じページをリクエストするたびに、cookie が送信されます。

Response.Cookies コマンドは、cookie を作成するために使用されます:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2012"
%>

注:Response.Cookies コマンドは、<html> タグの前に配置する必要があります!

"Request.Cookies" コマンドは、cookie 値を取得するために使用されます:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

参照ファイル

#include 指令を使用して、サーバーが実行する前に、1つの ASP ファイルの内容を別の ASP ファイルに挿入できます。#include 指令は、関数、ページヘッダー、ページフッター、または複数のページで再利用される要素を作成するために使用されます。

文法:

<!--#include virtual="somefile.inc"-->

または

<!--#include file ="somefile.inc"-->

キーワード virtual を使用して、バーチャルディレクトリで始まるパスを示します。"header.inc" という名前のファイルが /html という名前のバーチャルディレクトリに存在する場合、以下のコードは "header.inc" の内容を挿入します:

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

キーワード file を使用して相対パスを示します。相対パスは参照されるファイルを含むディレクトリから始まります。ファイルが html ディレクトリにあり、"header.inc" が html\headers 内にある場合、以下のコードはファイルに "header.inc" の内容を挿入します:

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

キーワード file を使用して、上位レベルディレクトリのファイルを参照してください。

Global.asa

Global.asa ファイルはオプションのファイルであり、ASP アプリケーションの各ページからアクセスできるオブジェクト宣言、変数、メソッドを含むことができます。

コメント:Global.asa ファイルは ASP アプリケーションのルートディレクトリに保存されなければなりません、かつ各アプリケーションには Global.asa ファイルが1つしかありません。

Global.asa ファイルには以下の内容のみを含めることができます:

  • Application イベント
  • Session イベント
  • <object> 声明
  • TypeLibraryの宣言
  • #include 指令

Application と Session イベント

Global.asa 内で、アプリケーションやセッションオブジェクトがアプリケーション/セッションの開始時に何を行うか、終了時に何を行うかを指示できます。そのタスクを完了するコードは、イベントハンドラ内に位置します。

コメント:Global.asa ファイルにコードを挿入する際には、<% 和 %> を使用しません。代わりに、HTML <script> タグ内にサブプログラムを配置します:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' あるコード
end sub
sub Application_OnEnd
  ' あるコード
end sub
sub Session_OnStart
  ' あるコード
end sub
sub Session_OnEnd
  ' あるコード
end sub
</script>

<object> 声明

<object> タグを使用すると、Global.asa 内でセッションやアプリケーション範囲を持つオブジェクトを作成することもできます。

コメント:<object> タグは <script> タグの外に位置するべきです!

文法:

<object runat="server" scope="scope" id="id">
{progid="progID"|classid="classID"}>
.......
</object>

TypeLibraryの宣言

TypeLibraryは、COMオブジェクトに対応するDLLファイルの内容を保持するコンテナです。Global.asaファイルにTypeLibraryの呼び出しを含めることで、COMオブジェクトの定数にアクセスし、ASPコードはエラーをよりよく報告できます。Webアプリケーションが既に型リバリューに宣言されたデータ型のCOMオブジェクトに依存している場合、Global.asaでその型リバリューを宣言できます。

文法:

<!--
METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

セッションオブジェクト

セッションオブジェクトは、ユーザーのセッションに関する情報を保存したり、設定を変更するために使用されます。セッションオブジェクトに保存された変数は、個々のユーザーに関する情報を持ち、アプリケーションのすべてのページからアクセスできます。

コレクション

  • Contents - スクリプトコマンドでセッションに追加されたすべてのエントリを含みます。
  • StaticObjects - HTMLの<object>タグでセッションに追加されたすべてのオブジェクトを含みます。
  • Contents.Remove(item/index) - Contentsコレクションから一つのプロジェクトを削除します。
  • Contents.RemoveAll() - Contentsコレクションからすべてのプロジェクトを削除します。

属性

  • CodePage - ダイナミックコンテンツの表示に使用される文字セットを指定します。
  • LCID - ダイナミックコンテンツの表示に使用される地域識別子を設定します。
  • SessionID - セッションIDを返します。
  • Timeout - セッションのタイムアウト時間を設定または返します。

メソッド

  • Abandon - セッションオブジェクト内のすべてのオブジェクトを取り消します。

Applicationオブジェクト

あるタスクを完了するために協力して作業する一組のASPファイルがアプリケーションと呼ばれます。ASPのApplicationオブジェクトは、これらのファイルを束ねるために使用されます。すべてのユーザーがApplicationオブジェクトを束ねます。Applicationオブジェクトには、アプリケーション内の多くのページで使用される情報(例えば、データベース接続情報)が保存されるべきです。

コレクション

  • アプリケーションにスクリプトコマンドで追加されたすべてのプロジェクトを含むコンテンツ
  • StaticObjects - HTMLの<object>タグを使用してアプリケーションに追加されたすべてのオブジェクトを含みます
  • Contents.Remove - Contents コレクションから一つのアイテムを削除
  • Contents.RemoveAll - Contents コレクションからすべてのアイテムを削除

メソッド

  • Lock - Application オブジェクトの変数を変更を防ぐ
  • Unlock - Application オブジェクトの変数を変更できるように許可

Response オブジェクト

Response オブジェクトは、サーバーからユーザーにデータを出力するために使用されます。

コレクション

Cookies(name) - クッキーの値を設定。存在しない場合、クッキーを生成して指定された値を設定します。

属性

  • Buffer - 出力がバッファリングされるかどうかを指定。出力がバッファリングされている場合、サーバーはすべてのサーバースクリプトが処理されたか、またはスクリプトが Flush や End メソッドを呼び出されるまでブラウザへの応答を阻止します。このプロパティを設定するには、.asp ファイルの <html> タグの前に位置を取る必要があります。
  • CacheControl - ASPが生成する出力がプロキシサーバーでキャッシュされるかどうかを設定。Publicに設定すると、プロキシサーバーがページをキャッシュします。
  • Charset(charset_name) - 文字セットの名前を Response オブジェクトの content-type ヘッダに追加
  • ContentType - レスポンスオブジェクトの HTTP コンテンツタイプを設定。(例えば "text/html", "image/gif", "image/jpeg", "text/plain")。デフォルトは "text/html"
  • Expires - ページが無効になる前にブラウザキャッシュの時間(分)を設定
  • ExpiresAbsolute - ブラウザ上のページキャッシュが無効になる日付と時間を設定
  • IsClientConnected - クライアントがサーバーから切断されたかどうかを示す
  • Pics(pics_label) - レスポンスヘッダの PICS フラグに値を追加
  • Status - サーバーが返すステータスラインの値を指定

メソッド

  • AddHeader(name, value) - HTTP レスポンスに新しい HTTP ヘッダと値を追加
  • AppendToLog string - 服务器にプロジェクト(サーバーログエントリ)の末端に文字列を追加
  • BinaryWrite(data_to_write) - 文字コード変換なしで直接出力にデータを書き込みます
  • Clear - 缓存された出力をクリアします。エラー処理にこのメソッドを使用します。Response.Bufferがtrueに設定されていない場合、このメソッドはランタイムエラーを引き起こします
  • End - スクリプトの処理を停止し、現在の結果を返します
  • Flush - 缓存された出力をすぐに送信します。Response.Bufferがtrueに設定されていない場合、このメソッドはランタイムエラーを引き起こします
  • Redirect(url) - ユーザーを別のURLにリダイレクトします
  • Write(data_to_write) - ユーザーにテキストを書き込みます

Requestオブジェクト

ブラウザがサーバーからページをリクエストする際、それがrequestと呼ばれます。requestオブジェクトは、ユーザーからの情報を取得するために使用されます。

コレクション

  • ClientCertificate - 顧客証明書に保存されたフィールドの値を含みます
  • Cookies(name) - クッキーの値を含みます
  • Form(element_name) - フォームの値を含みます。このフォームはPOSTメソッドを使用する必要があります
  • QueryString(variable_name) - 検索クエリストの変数の値を含みます
  • ServerVariables(server_variable) - サーバー変数の値を含みます

属性

  • TotalBytes - リクエスト正文でクライアントが送信したバイト数の合計を返します

メソッド

  • BinaryRead - POSTリクエストの一部としてクライアントからサーバーに送信されたデータを取得します

Serverオブジェクト

Serverオブジェクトは、サーバー上の属性とメソッドにアクセスするために使用されます。

属性

ScriptTimeout - スクリプトが終了前にどれだけ長く実行できるかを設定または返します。

メソッド

  • CreateObject(type_of_object) - オブジェクトのインスタンスを作成します
  • Execute(path) - ASPファイル内から別のASPファイルを実行します。呼び出されたASPファイルの実行が完了すると、コントロールが元のASPファイルに戻ります
  • ) - 发生したエラーを説明するASPErrorオブジェクトを返します
  • HTMLEncode(string) - 文字列にHTMLエンコードを適用します
  • MapPath(path) - 相対的または仮想パスを物理パスにマッピングします
  • Transfer(path) - すべての状態情報を別のファイルに送信して処理のために保管します。送信後、プログラムのコントロールは元のASPファイルに戻りません
  • URLEncode(string) - 文字列にURLエンコード規則を適用

出典:http://www.codew3c.com/asp/asp_quickref.asp