ASP.NET 分離コード モデルの概要
この記事では、ASP.NET のインライン コードと分離コード モデルの概要について説明します。
元の製品バージョン: ASP.NET
元の KB 番号: 303247
概要
この記事では、Microsoft .NET Framework クラス ライブラリ名前空間 を参照しますSystem.Web.UI
。
ASP.NET では、ページを作成するための 2 つのメソッドがサポートされています。
- インライン コード
- 分離コード
In-Line コード
インライン コードは、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 namespace
。
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 での分離コードのサポート
Visual Studio .NET を使用して ASP.NET Web Formsを作成する場合、分離コード ページが既定のメソッドです。 さらに、Visual Studio .NET では、ソリューションをビルドするときに自動的に事前コンパイルが実行されます。
注:
Visual Studio .NET で作成される分離コード ページには、Code-behind
Visual Studio .NET で使用される特殊なpage
属性が含まれます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示