2019年11月4日 星期一

[asp.net]aspx檔案中CodeFile與CodeBehind的區別

在ASP.NET中Web程式設計時,aspx Web 窗體的@page 指令有三個屬性(Inherits、CodeFile、CodeBehind),我們在新增aspx頁面時,會預設在程式碼中使用CodeBehind。那麼,CodeFile與CodeBehind的區別究竟有哪些呢?
一、CodeBehind
1、使用方式
<%@ Page Language="C#" AutoEventWireup="true" Codebehind="index.aspx.cs" Inherits="Community.IndexHomePage.index" %> 
2、專案中的所有的Code-Behind 類檔案和獨立類檔案都被編譯成一個獨立的應用程式集,這個應用程式集被放在Bin目錄下
3、釋出的時候,不需要釋出.cs檔案
4、修改某個.cs檔案,需要重新編譯整個專案,重新整理才會看到效果
5、釋出時需要釋出整個專案編譯後的DLL檔案
二、CodeFile
1、使用方式
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="Community.IndexHomePage.index" %>
2、ASP.net 需要找 CodeFile 中指定的檔案,以便動態編譯,但是找不到,所以就報錯誤
3、CodeFile指向的檔案只會在執行這個頁面時才會編譯,速度上相比CodeBehind有一定的影響
4、釋出的時候,需要釋出.cs檔案
5、修改程式碼後不用整體編譯,只重新整理頁面就可以看到效果
6、釋出時只需要釋出 新增、修改的檔案,不需要釋出整個專案的DLL,避免因為釋出影響到其它的頁面的功能

沒有留言:

張貼留言