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,避免因为发布影响到其它的页面的功能