チュートリアル : Visual Web Developer の Web サイトでの共有コードの使用
更新 : 2007 年 11 月
Visual Web Developer を使用して Web サイトを作成すると、クラス ファイルに共有コードを簡単に作成でき、クラス ファイルをコンパイルせずに、アプリケーションのページで共有コードを使用できます。
メモ : |
---|
既存のアセンブリ (.dll ファイル) がある場合は、それを Web サイトの Bin ディレクトリに追加でき、これによりアセンブリを自動的に Web サイトで参照できます。 |
このチュートリアルでは、単純なクラスを作成し、それを ASP.NET Web ページで使用します。
このチュートリアルでは、以下のタスクを行います。
クラスを Web サイトに追加します。
Visual Web Developer からコンポーネントを自動的に参照します。
前提条件
このチュートリアルを完了するための要件を次に示します。
Visual Web Developer (Visual Studio)。
.NET Framework。
このチュートリアルは、Visual Web Developer での作業の一般知識があることを前提としています。概要については、「チュートリアル : Visual Web Developer での基本的な Web ページの作成」を参照してください。
Web サイトおよびページの作成
Visual Web Developer で Web サイトを既に作成してある場合は (たとえば、「チュートリアル : Visual Web Developer での基本的な Web ページの作成」または「チュートリアル : Visual Web Developer でのローカル IIS Web サイトの作成」を完了して)、その Web サイトを使用して、次のセクションに移動できます。それ以外の場合は、次の手順に従って、新しい Web サイトおよびページを作成します。
ファイル システム Web サイトを作成するには
Visual Web Developer を開きます。
[ファイル] メニューの [新しい Web サイト] をクリックします (Visual Web Developer Express Edition で、[ファイル] メニューの [新規作成] をポイントし、[Web サイト] をクリックします)。
[新しい Web サイト] ダイアログ ボックスが表示されます。
[Visual Studio にインストールされたテンプレート] の [ASP.NET Web サイト] をクリックします。
[場所] ボックスに、Web サイトのページを格納するフォルダの名前を入力します。
この例を次に示します。
ファイル システム Web サイトを作成する場合は、「C:\SampleSite」と入力します。
IIS がインストールされていて、HTTP Web サイトを作成する場合は、「https://localhost/SampleSite」と入力します。
[言語] ボックスの一覧で、作業に使用するプログラミング言語をクリックします。
[OK] をクリックします。
Visual Web Developer により Web サイトが作成され、Default.aspx という名前の新しいページが開きます。
共有クラスの作成
作成したクラスを App_Code というフォルダに保存すると、そのクラスを再利用できます。Visual Web Developer では App_Code フォルダが監視され、新しいクラス ファイルが追加されると、アプリケーションの他のコードで使用できるコンポーネントとして認識されます。既定では、App_Code フォルダにあるクラスは、実行時に 1 つのアセンブリにコンパイルされます。
メモ : |
---|
App_Code フォルダには、クラス (および他のサポートされている共有型) のみを格納できます。App_Code フォルダには、決してページ、Web ユーザー コントロール、コード以外の要素を持つファイルなどを格納しないようにしてください。 |
App_Code フォルダを作成するには
ソリューション エクスフローラで Web サイトの名前を右クリックし、[フォルダの追加] をクリックし、[App_Code フォルダ] をクリックします。
次に、コンポーネントをサイトに追加します。
App_Code フォルダに共有クラスを作成するには
ソリューション エクスプローラで、[App_Code] を右クリックし、[新しい項目の追加] をクリックします。
メモ : 新しいアイテムは、Web サイトのルート フォルダではなく、必ず App_Code フォルダに作成してください。
[Visual Studio にインストールされたテンプレート] の [クラス] をクリックします。
[名前] ボックスに「SampleClass1」と入力します。
[言語] ボックスの一覧で、共有クラスを使用する Web ページで使用する言語を選択します。
[追加] をクリックします。
Visual Web Developer に新しいクラス ファイルが作成され、エディタで開かれます。
次のコードをクラス ファイルにコピーして、testString という名前の単一のプロパティを持つクラスを作成します。
Public Class SampleClass1 private testStringValue As String Public Property testString as String Get return testStringValue End Get Set (Value as String) testStringValue = value End Set End Property End Class
using System; public class SampleClass1 { public SampleClass1() { } private string testStringValue; public string testString { get { return testStringValue; } set { testStringValue = value; } } }
ファイルを保存して閉じます。
ファイルがコンパイル済みのファイルとして格納されない点に注意してください。
メモ : App_Code フォルダにある共有クラスを操作するときには、Visual Web Developer がコンポーネントへの参照を保持するように、コンポーネントを保管する必要はありません。Web ページとコンポーネントが同じプログラミング言語で記述されていれば、Visual Web Developer はメモリにコンポーネントへの参照を保持します。ここでは、このファイルはもう使用しないので、閉じます。
共有クラスの使用
次の手順では、共有クラスを ASP.NET Web ページで使用します。Web サイトを作成したときに作成された Default.aspx ページを使用してもかまいません。
共有クラスを使用するには
Default.aspx ページに切り替えるか開いて、デザイン ビューに切り替えます。
メモ : Default.aspx ページが作成されていなければ、別のページを使用します。別の方法としては、新しいページを Web サイトに追加できます。ソリューション エクスフローラで Web サイトの名前を右クリックし、[新しい項目の追加] をクリックし、[Web フォーム] をクリックします。[言語] ボックスの一覧で、コンポーネントに使用したプログラミング言語を入力し、[OK] をクリックします。
ツールボックスの [標準] フォルダから、TextBox コントロール、Label コントロール、および Button コントロールをページにドラッグします。
メモ : このチュートリアルでは、ページのレイアウトは重要ではありません。
Button コントロールをダブルクリックして、このコントロールの Click ハンドラを作成します。
Click ハンドラのコードは、ほぼ次のように記述します。
Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub
protected void Button1_Click(object sender, EventArgs e) { }
ハンドラで、次のように入力します。
Dim sc As New
SampleClass1 sc = new
New または new と入力してから Space キーを押すと、Visual Web Developer に使用できるクラスの一覧が表示されます。前のセクションで作成したクラス、「SampleClass1」がこの一覧に含まれています。
「SampleClass1」と入力するか、一覧の中でこの項目をダブルクリックしてステートメントを完成すると、次のようなステートメントになります。
Dim sc As New SampleClass1
SampleClass1 sc = new SampleClass1();
Enter キーを押して、次のように入力します。
sc.
ピリオドを入力し終わると、Visual Web Developer にメンバの一覧が表示され、サンプル クラスのメンバを選択できます。
ステートメントとハンドラを次のように完成します。
sc.testString = TextBox1.Text Label1.Text = sc.testString
sc.testString = TextBox1.Text; Label1.Text = sc.testString;
ファイルを保存します。
ページとクラスのテスト
Web サイトを実行して、共有クラスが機能していることを確認できます。
ページとコンポーネントをテストするには
Default.aspx ページを開きます。
Ctrl キーを押しながら F5 キーを押してページを実行します。
ブラウザにページが表示されたら、テキスト ボックスに適切なテキストを入力して、ボタンをクリックします。
これにより、単純なクラスにプロパティが設定され、Label コントロールに表示されます。
Microsoft Windows エクスプローラで Web サイトがあるディレクトリを見ると、ページと App_Code フォルダを確認できます。App_Code フォルダにも、Web サイトのルート以下のフォルダにも .dll や他の実行可能コードがありません。代わりに、Visual Web Developer はページと共有クラスを動的にコンパイルしました。
次の手順
このチュートリアルでは、コンポーネントをコンパイルせずに、共有クラスを Web サイトに追加する方法について説明しました。共有クラスを使用する他の方法を試す場合もあります。たとえば、次の場合です。
コンパイルされたコンポーネントの操作
Web サイトで使用できるアセンブリがある場合は、Bin フォルダを作成し、.dll を Bin フォルダにコピーします。次に、このチュートリアルで作成したコンポーネントを参照したのと同じように、ページでアセンブリを参照できます。
データ アクセス用のコンポーネントの作成
詳細については、「チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング 」を参照してください。
Web サービスの作成
詳細については、「チュートリアル : Visual Web Developer での ASP.NET Web サービスの作成と使用」を参照してください。