聲明中"AutoEventWireup"、"Codebehind"、"Inherits"分別表示什么意思?


  

問:
<%@ Page Language="C#" AutoEventWireup="false" Codebehind="checklogin.aspx.vb" Inherits="zcgmMIS.WebForm1"%>

請問在上面的一行聲明中“AutoEventWireup”、“Codebehind”、“Inherits”分別表示什么意思?
答1:
AutoEventWireup --- 指示是否自動啟用頁事件。
Codebehind --- 指示后台代碼文件。
Inherits --- 繼承類
答2:
AutoEventWireup:
指示該頁的事件是否為自動連網的。如果啟用事件自動連網,則為 true;否則,為 false。
Inherits:
定義供頁繼承的代碼隱藏類。可以是從 Page 類派生的任何類。
Codebehind:
代碼綁定文件的名稱

答3:
Codebehind="PreDeliver.aspx.cs" 表示該頁的后置代碼在當前目錄下的PreDeliver.aspx.cs文件中;
AutoEventWireup="false" 表示是否自動地將頁面的事件和相應的方法綁定到一起,一般這個什要設為false,因為若設為true有可能兩次調用相同的事件代碼。
Inherits="Issue.Pre"表示頁面中的控件是在哪個類中定義的。

基礎知識:AutoEventWireup屬性
  AutoEventWireup屬性決定事件句柄怎樣連接到控件事件中。當AutoEventWireup設置為true時,ASP.NET決定調用類中的哪一種方法來響應那些在用戶與網頁的交互中產生的事件。ASP.NET將不必用代理就可以為一個Web控件調用合適的事件句柄,對程序員而言,這樣可以無需為事件句柄添加代理。在程序員不是使用Visual Studio因而必須自己添加代碼的情況下,這是非常方便的。
  當Visual Studio生成一個ASPX文件時,因為Visual Studio為我們生成必要的時間代理,所以將AutoEventWireup設為false。
  如果在Visual Studio中將AutoEventWireup設為true,那么一個事件句柄將會被調用兩次,一次通過代理,一次是AutoEventWireup的結果。
  runat屬性,設置為“Server”,說明由服務器來處理表單並生成發送給客戶的HTML代碼。
  同一類型的Web控件可以映射到不同的HTML元素,這取決於客戶端的瀏覽器和Web空間的參數設置。
  Page類定義了所請求的網頁,位於System.Web.UI名字空間,它包含了為創建基於Web的應用和控件所需的類。
  類Page也提供了創建基於Web的應用所需的事件句柄和必要對象。
  除了Page類,System.Web.UI還包括Control類。這是一個為所有的Web控件提供一般功能的基類。
  
  ASPX文件和代碼后置文件是怎樣被用於創建那些發送給客戶的網頁的呢?首先,類WebTimeTest繼承了定義了網頁一般功能的Page類。除了繼承這些功能以外,WebTimeTest還定義了一些自己特有的功能。
  代碼后置文件就是定義了這一功能的文件,而ASPX文件定義了GUI。當客戶請求一個ASPX文件時,在包含網頁的可視化部分(在ASPX文件中定義)和包含網頁的邏輯部分(在代碼后置文件中定義)的現場后面創建一個類。新類繼承自Page。
  當網頁首次被請求時,這個類被編譯並且創建一個實例。這個實例表示網頁,它創建了被傳送給客戶的HTML。由編譯過的類創建的組件被放置在項目的Bin目錄中。
  
  一旦一個網頁實例已經創建,多個用戶就可以使用這一實例來訪問這個網頁——不再需要重新編譯。項目僅僅在程序員修改應用程序后才需要重新編譯,這些變化由運行時間環境檢測,並且項目將被重新編譯來反應變化的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM