資訊: ASP.NET 程式碼後置模型概觀

文章翻譯 文章翻譯
文章編號: 303247 - 檢視此文章適用的產品。
這份文件參照到下列的 Microsoft.NET Framework 類別庫的命名空間:
  • System.Web.UI
全部展開 | 全部摺疊

在此頁中

結論

本文提供在 ASP.NET 中介紹的 [程式碼後置] 模型的簡要概觀。

其他相關資訊

ASP.NET 支援兩種方法可以作者網頁:
  • 內嵌程式碼
  • 程式碼後置

內嵌程式碼

行中的程式碼是直接在 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>
				

程式碼落後

程式碼後置 (Code-Behind 指的是您的 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 類別位於 System.Web.UI 命名空間:
public class MyClass : Page
				
網頁 繼承類別讓程式碼後置頁面存取 ASP.NET 內建物件例如 要求回應。對於處理 ASP.NET 頁面中的控制項的事件,從 Page 類別繼承提供在另外一個架構。

在上述範例中之前執行 ASP.NET 編譯程式碼後置頁面。或者,您可以參考程式碼後置類別,藉由使用 SRC 標記,如下所示:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
				
ASP.NET 在這種情況下編譯程式碼後置頁面即時。請注意這個編譯步驟只發生於更新 (這偵測到透過時間戳記變更) 程式碼後置檔案。

在 Visual Studio.NET 中的程式碼後置 (Code-Behind 支援

使用 Microsoft Visual Studio.NET 建立 ASP.NET Web Form 時程式碼後置頁面會是預設方法。會在另外 Visual Studio.NET 自動先行編譯為您執行當您建置您的方案。 請注意在 Visual Studio.NET 中建立的程式碼後置網頁加上特殊網頁屬性,程式碼後置,Visual Studio.NET 使用。

?考

如需 %1 的詳細資訊,按一下面的文件編號 %2 下面,檢視 「 Microsoft 知識庫 」 中的文件 %2 件:
313105注意: 不能編譯使用 UNC 共用的 src 屬性的程式碼後置檔案

屬性

文章編號: 303247 - 上次校閱: 2007年2月23日 - 版次: 3.4
這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
關鍵字:?
kbmt kbinfo kbwebforms KB303247 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:303247
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com