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

クラスから継承すると、 などの組み込みオブジェクト ASP.NET Page ページにアクセス Request できます Response 。 さらに、クラスから継承すると、ページ内のコントロールのイベントを処理する Page フレームワーク ASP.NET されます。

前のサンプルでは、コード を実行する前に、コード ASP.NET されます。 または、次のようにタグを使用して、コード背後のクラス SRC を参照することもできます。

<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>

この場合、ASP.NET ページがコンパイルされます。 このコンパイル 手順は、コード 背後にあるファイルが更新された場合にのみ発生します (タイムスタンプの変更によって検出されます)。

NET でのコードVisual Studioサポート

既定の .NET Visual Studioを使用して、ASP.NET Web Formsページを作成する場合は、既定のメソッドです。 さらに、ソリューションVisual Studio.NET は自動的に事前コンパイルを実行します。

注意

.NET で作成されるコード Visual Studioには、.NET で使用される特別Visual Studio page Code-behind が含まれます。