最初の2つの記事の研究を通じて、ASPのダイナミックなWebサイトデザインの基本的な概念と全体的な印象をすでに獲得していると思います。この記事から始めて、著者はスクリプト言語の使用から始めて、皆が浅いものから深いものまでのASPダイナミックなウェブサイトのデザインの真のミステリーを探求するように全員を導きます。
最初に、ASPにスクリプト言語(主にVBScript)を適用することに関する基本的な知識を学びましょう。
言語のスクリプトの学習を開始する前に、変数、プロセスなど、いくつかの簡単な概念を理解する必要があります。いわゆる変数は、数字や文字列などのデータを含むコンピューターメモリの名前付きストレージ場所です。プログラムは、1つ以上のプロセスで構成されています。
厳密に言えば、VBScriptでは、変数を宣言する必要はありません。
のように:
- <%mystring = thismystring%>
ただし、変数を使用する前に変数を宣言する必要がない場合でも、プログラミング時に変数を宣言する良い習慣を開発する必要があります。これは、エラーを防ぐのに役立つためです。変数を宣言するということは、スクリプトで特定の名前を持つ変数があることをスクリプトエンジンに伝えることを意味し、変数をスクリプトで参照できるようにします。 VBScriptの変数を宣言すると、次のようにDIMステートメントを使用できます。
- <scriptlanguage = vbscript>
- <! -
- optionExplicit 'では、すべての変数をスクリプトで宣言する必要があります
- ディミスストリング
- mystring = thismystring
- - >
- </script>
変数の範囲は寿命です。これは、どのスクリプトコマンドが変数にアクセスできるかを決定します。プロセス内で宣言された変数には、ローカルスコープがあります。プロセスが実行されるたびに、変数が作成されてから死亡します。そして、プロセスの外側のコマンドはそれにアクセスできません。プロセスの外部で宣言された変数には、グローバルな範囲があり、それらの値にASPページの任意のスクリプトコマンドによってアクセスおよび変更できます。変数を宣言する場合、ローカル変数とグローバル変数は同じ名前を持つことができます。値のいずれかを変更しても、他の値は変更されません。変数が宣言されていない場合、グローバル変数の値を誤って変更する場合があります。たとえば、次のスクリプトコマンドは1の値を返しますが、yという名前の2つの変数があります。
- <%
- dimyy = 1callsetlocalvariableresponse.writey
- subsetlocalvariable
- 薄暗い
- y = 2endsub%>
変数は明示的に宣言されていないため、次のスクリプトコマンドは2を返します。手順呼び出しがyを2に設定すると、スクリプトエンジンは、手順がグローバル変数を変更することであると考慮します。
- <%
- y = 1callsetlocalvariableresponse.writey
- subsetlocalvariable
- y = 2
- endub%>
ただし、グローバル変数は単一のASPページでのみ利用可能であり、単一のASPページ以外で使用できるようにするには、セッションまたはアプリケーションスコープを変数に割り当てる必要があります。セッションスコープ変数は、ユーザーが要求したASPアプリケーションのすべてのページで使用できます。アプリケーションスコープ変数にも同じことが言えます。単一のユーザーの場合、セッション変数は、ユーザーの好み、ユーザー名、ユーザー識別など、情報を保存する最良の方法です。特別なアプリケーションのすべてのユーザーにとって、アプリケーションの範囲は、アプリケーション固有の挨拶やアプリケーションで必要な初期値など、情報を保存する最良の方法です。 ASPは、変数を保存できる2つの組み込みオブジェクトを提供します:セッションオブジェクトとアプリケーションオブジェクト。これについては、将来のASP組み込みオブジェクトで説明します。
数字や文字列名の代わりに使用され、スクリプト全体に変更されていない定数の定義を見てみましょう。 constステートメントを使用して、vbscriptにユーザー定義の定数を作成できます。 constステートメントを使用して、特定の意味を持つ文字列または数値定数を作成し、元の値を割り当てます。例えば:。
例:<%const mystring =これは一定の%>です
<%const myage = 100%>
文字列リテラルは2つの引用符の間に含まれていることに注意してください()。これは、文字列型定数と数値定数を区別する最も明白な方法です。日付のテキストと時間テキストは、2ポンドの標識(#)の間に含まれています。例えば:
<%const cutoffdate =#6-1-97#%>
定数と変数を理解した後、プロセスが何であるかを見てみましょう。これは、指定されたタスクを実行して返品値を持つスクリプトコマンドのセットです。独自の手順を定義し、スクリプトで繰り返し呼び出すことができます。プロセス定義をプロセスを呼び出す.aspファイルに配置するか、一般的な手順を共有.ASPファイルに配置し、SSI #includeディレクティブでその手順を呼び出す他の.aspファイルに含めることができます。これらの機能をActiveXコンポーネントにパッケージ化する別の方法を選択することもできます。プロセス定義は、<script>および<script>タグ内に表示され、スクリプト言語を宣言するルールに従う必要があります。手順で使用される言語がメインスクリプト言語と異なる場合は、<script>要素を使用します。メインスクリプト言語の手順は、スクリプトデリミター(<%および%>)によって区切られています。 html <script>でタグ付けする場合、サーバー側がスクリプトを処理できるようにするために、2つのプロパティを使用する必要があります。 <script>タグを使用する構文は次のとおりです。
- <scriptrunat = serverLanguage = jscript>
- 手順定義
- </script>
ここのrunat =サーバープロパティは、サーバー上のスクリプトを処理するためにWebサーバーに通知します。このプロパティが設定されていない場合、スクリプトはクライアントブラウザによって処理されます。言語プロパティは、このスクリプトブロックで使用されるスクリプト言語を決定します。スクリプトエンジンを使用して任意の言語を指定できます。 VBScriptを使用して、jscriptを指定してください。言語プロパティが設定されていない場合、スクリプトブロックはメインスクリプト言語で解釈されます。
VBScriptでは、プロセスはサブプロセスと関数プロセスの2つのカテゴリに分けられます。サブプロシージャは、サブサブサブステートメントとエンドサブステートメントの間に含まれるVBScriptステートメントのセットであり、操作を実行しますが、値を返すことはできません。サブプロシージャは、パラメーター(定数、変数、または呼び出し手順で渡された式)を使用できます。サブプロシージャにパラメーターがない場合、サブステートメントには空のブラケット()が含まれている必要があります。
関数手順は、関数と末端の関数ステートメントの間に含まれるVBScriptステートメントのセットです。関数プロセスはサブプロセスに似ていますが、関数プロセスは値を返すことができます。関数手順は、パラメーター(定数、変数、または呼び出し手順によって渡される式)を使用できます。関数手順にパラメーターがない場合、関数ステートメントには空のブラケット()が含まれている必要があります。関数プロセスは、プロセスのステートメントの関数名に割り当てられる関数名を介して値を返します。関数返品値のデータ型は常にバリアントです。次の例では、サブ手順では、2つの固有の(または組み込み)VBScript関数、つまりMSGBoxとinputboxを使用して、ユーザーに情報を求めます。この情報に基づいて計算された結果が表示されます。計算は、VBScriptを使用して作成された関数プロセスによって行われ、摂氏関数は華氏を摂氏に変換します。サブ手順ConvertTempこの関数が呼び出されると、パラメーター値を含む変数が関数に渡されます。変換結果は呼び出しプロセスに返され、メッセージボックスに表示されます。
- subcanverttemp()
- temp = inputbox(華氏温度を入力してください。、1)
- msgboxの温度は、celsius(温度)およびcelsiusです。
- Endingub
- functioncelsius(fdegrees)
- celsius =(fdegrees-32)*5/9
- エンド機能
データをプロセスに渡す方法は、パラメーターを使用することです。このパラメーターは、データがプロセスに渡されるためのプレースホルダーとして使用されます。パラメーター名は、有効な変数名です。サブステートメントまたは関数ステートメントを使用してプロセスを作成する場合、プロセス名の後にブラケットが続く必要があります。すべてのパラメーターは、コンマで区切られたブラケットに含まれています。たとえば、次の例では、fdegreesは摂氏関数に渡された値のプレースホルダーです。
- functioncelsius(fdegrees)
- celsius =(fdegrees-32)*5/9
- エンド機能
プロセスからデータを取得するには、関数手順を使用する必要があります。関数プロセスは値を返すことができることを忘れないでください。
上記は、長さのためにVBScriptを簡単に紹介します。ただし、ASP自体はプログラミング言語ではないため、ASPアプリケーションを作成しているため、スクリプト言語を使用して多くの特別な機能を実装する必要があります。 。
豊富なプログラミングエクスペリエンスを持つマスターであろうと初心者であろうと、ASPを通じてWebアプリケーションを作成したい限り、編集者は、少なくとも1つのスクリプト言語(VBScriptなど)をマスターすることを強くお勧めします。