【轉】asp.net中@page指令的屬性Inherits、Src、CodeBehind區別

來源:互聯網
上載者:User

標籤:

Inherits、Src、CodeBehind

 

在 ASP.NET 中使用程式碼後置方法來設計Web Form,可使頁代碼能夠更清晰地從 HTML 內容中分離到完全單獨的檔案中。

通常一個 @page 指令如下:

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

 

其中有三個屬性(Inherits、Src、CodeBehind)非常容易混淆,下面分別給予說明。

Inherits

Inherits 屬性用於定義當前 Web Form所繼承的程式碼後置類別(該類是 System.Web.UI.Page 的衍生類別)。 這個 inherits 屬性只用於採用程式碼後置方式編寫的 Web Form,也就是,如果你的代碼全都是在 Web Form的<script runat="server"></script> 標籤中,就不必用這個屬性了。

 

Src

Src 屬性用於指定“代碼(隱藏)檔案”在檔案系統中的位置,以便於 ASP.NET Framework 用 Just-In-Time (JIT)編譯器動態編譯 Web Form時能夠找到它。用 Inherits 指明的類,就是放在這個類代碼(隱藏)檔案中。 通常 ASP.NET Framework 使用這些類時,首先會到已編譯的程式集中尋找, 如果找不到就會把在 Src 屬性中提供的代碼檔案重新編譯,所以 Src 屬性和 Inherits 屬性並不互斥。

需要說明的是,Visual Studio .NET 並不使用 Src 屬性,這就意味著 Visual Studio .NET 總是指望你用“產生”菜單中的產生操作來產生已編譯的程式集(通常是編譯成DLL放在\bin目錄中,這樣一來,在發布應用系統時,就可以不用發布原始碼了),而以後不會發生需要動態編譯的情況。所以如果你是在 Visual Studio .NET IDE 中開發的話,要時常注意用“重建”功能來編譯發生變動的類,否則,將會發生諸如找不到類呀什麼的一系列問題。

 

Codebehind

Codebehind 屬性並不是一個真正的 ASP.NET 屬性,在ASP.NET 文檔中是找不到它的。 它其實只是一個 Visual Studio .NET 屬性,Visual Studio .NET 就是借用這個屬性來很好地跟蹤管理項目中的 Web Form和與之相對的程式碼後置檔案,比如當你在設計環境中往 Web Form上放入一個伺服器控制項時,Visual Studio .NET 將自動找到與該 Web Form相對應的程式碼後置檔案,並自動插入相關的代碼。因此,用 Visual Studio .NET 作開發時,不可輕率地將 Codebehind 屬性換成 Src 屬性,他們的功能作用不同。

【轉】asp.net中@page指令的屬性Inherits、Src、CodeBehind區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.