[INFO] ASP.NET コード ビハインド モデルの概要

この記事は、以前は次の ID で公開されていました: JP303247
この資料では、次の Microsoft .NET Framework クラス ライブラリの名前空間を参照しています。
  • System.Web.UI
概要
この資料では、ASP.NET に導入されたコード ビハインド モデルの概要について簡単に説明します。
詳細
ASP.NET では、ページを作成する方法として、次の 2 つがサポートされています。
  • インライン コード
  • コード ビハインド

インライン コード

インライン コードとは、ASP.NET ページに直接埋め込まれたコードのことです。インライン コードのある ASP.NET ページのサンプルを次に示します。

Myinlinecode.aspx
<%@ Language=C# %><HTML>   <script runat="server" language="C#">   void MyButton_OnClick(Object sender, EventArgs e)   {      MyLabel.Text = MyTextbox.Text.ToString();   }   </script>   <body>      <form id="MyForm" runat="server">         <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>         <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>         <asp:label id="MyLabel" runat="server"></asp:label>      </form>   </body></HTML>				

コード ビハインド

コード ビハインドとは、ASP.NET ページのコードを、別のクラス ファイルに記述したものです。これにより、表示に関するロジックから HTML を完全に分離できます。ASP.NET コード ビハインド ページのサンプルを次に示します。

MyCodebehind.aspx
<%@ Language="C#" Inherits="MyStuff.MyClass" %><HTML>    <body>        <form id="MyForm" runat="server">        <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox>        <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button>        <asp:label id="MyLabel" runat="server" />        </form>    </body></HTML>				
Mycodebehind.cs
using System;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace MyStuff{    public class MyClass : Page    {        protected System.Web.UI.WebControls.Label MyLabel;        protected System.Web.UI.WebControls.Button MyButton;        protected System.Web.UI.WebControls.TextBox MyTextBox;        public void MyButton_Click(Object sender, EventArgs e)        {            MyLabel.Text = MyTextBox.Text.ToString();        }    }}				
上記のサンプルの Mycodebehind.cs をコンパイルするには、次の構文を使用します。
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
次のコードを使用すると、コード ビハインド ページは Page クラスから継承されます。Page クラスは、System.Web.UI 名前空間に存在します。
public class MyClass : Page				
Page クラスから継承されているため、コード ビハインド ページは、Request や Response などの ASP.NET 組み込みオブジェクトにアクセスできます。さらに、Page クラスから継承されているため、ASP.NET ページ内にあるコントロールのイベントを処理するフレームワークが提供されます。

上記のサンプルでは、コード ビハインド ページは ASP.NET の実行前にコンパイルされます。または、次のように SRC タグを使用してコード ビハインド クラスを参照することもできます。
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>				
この場合、コード ビハインド ページは ASP.NET によって実行時にコンパイルされます。このコンパイルはコード ビハインド ファイルが更新された (タイム スタンプの変更が検出された) 場合にのみ行われます。

Visual Studio .NET におけるコード ビハインドのサポート

Microsoft Visual Studio .NET を使用して ASP.NET Web フォームを作成すると、コード ビハインド ページ方式がデフォルトになります。さらに、ソリューションのビルド時に Visual Studio .NET によって自動的にプリコンパイルが実行されます。Visual Studio .NET で作成されたコード ビハインド ページには、Codebehind という特別なページ属性が設定されます。この属性は Visual Studio .NET によって使用されます。
関連情報
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
313105 [BUG] Src 属性を使ったコード ビハインド ファイルが UNC 共有上でコンパイルできない
codebehind
プロパティ

文書番号:303247 - 最終更新日: 11/29/2005 09:21:53 - リビジョン: 3.2

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbinfo kbwebforms KB303247
フィードバック