【转】asp.net中@page指令的属性Inherits、Src、CodeBehind区别

Inherits、Src、CodeBehind

在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中。

通常一个 @page 指令如下:

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

其中有三个属性(Inherits、Src、CodeBehind)非常容易混淆,下面分别给予说明。

Inherits

Inherits 属性用于定义当前 Web 窗体所继承的代码隐藏类(该类是 System.Web.UI.Page 的派生类)。 这个 inherits 属性只用于采用代码隐藏方式编写的 Web 窗体,也就是,如果你的代码全都是在 Web 窗体的<script runat="server"></script> 标签中,就不必用这个属性了。

Src

Src 属性用于指定“代码(隐藏)文件”在文件系统中的位置,以便于 ASP.NET Framework 用 Just-In-Time (JIT)编译器动态编译 Web 窗体时能够找到它。用 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 窗体和与之相对的代码隐藏文件,比如当你在设计环境中往 Web 窗体上放入一个服务器控件时,Visual Studio .NET 将自动找到与该 Web 窗体相对应的代码隐藏文件,并自动插入相关的代码。因此,用 Visual Studio .NET 作开发时,不可轻率地将 Codebehind 属性换成 Src 属性,他们的功能作用不同。

时间: 2024-08-09 07:42:46

【转】asp.net中@page指令的属性Inherits、Src、CodeBehind区别的相关文章

jsp中page指令常用属性

1.language属性 设置jsp页面使用的语言,目前只支持java,默认值为java <%@ page language="java" %> 2.extends属性 设置jsp页面继承的java类,jsp页面在执行之前都会被服务器解析成Servlet,而Servlet是由java类定义的,所以jsp和Servlet都可以继承指定的父类,该属性不常用,可能影响服务器的性能优化. 3.import属性 设置JSP导入的类包,嵌入的java代码片段需要导入相应的类包. <

ASP.NET中的指令:

来源:http://www.cnblogs.com/zhuisha/archive/2008/07/02/1234222.html @Page指令: @Page指令只能在.aspx页中使用.如果在其他页面中使用会发生编译错误. @Page指令的属性的列表: 用于页面编译的属性: 属性 描述 ClassName 规定在页被请求时将被动态编译的类的名称,必须是一个没有名称空间信息的类名. CodeFile 指明当前页的代码隐藏类的路径,该类的源文件必须部署到Web服务器.ASP.net 1.1中不支

asp.net中Page.ClientScript.RegisterStartupScript用法小结(转)

//ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript.

ASP.net 中 OutputCache 指令各个参数的作用。

使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存 策略.@ OutputCache指令声明代码如下. @ OutputCache指令代码 <%@ OutputCache CacheProfile =" " NoStore= "True | False" D

ASP.net 中 OutputCache 指令各个参数的作用

使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存 策略.@ OutputCache指令声明代码如下. @ OutputCache指令代码 <%@ OutputCache CacheProfile =" " NoStore= "True | False" D

关于jsp的page指令的属性使用

ps:大家好!第一次写博客,希望记录累计和成长,如果有错误请求各位大神指正,假如有大神愿意指导小弟不胜感激 小弟的QQ1092912968 ,谢谢大家! 1. pageEncoding  指定当前页面的编码,在服务器将.jsp编译成.java的时候需要用到pageEncoding; 2.contentType 添加响应头,例如contentType="text/html; charset=utf-8"; 3.errorpage  指定页面出错的时候,会跳转到那个页面. 4.iserro

JAVA jsp page指令的属性 errorPage 和isErrorPage

>errorPage指定当前页面出现错误的实际响应页面是什么, 其中"/" 表示的是当前WEB应用的根目录 <% page errorPage="/error.jsp" %> >在响应error.jsp时, JSP引擎使用请求转发的方式 >isErrorPage 指定当前页面是否位错误处理页面, 可以说明当前页面是否可以使用exception隐藏变量,需要注意的是:若指定isErrorPage="true",并使ex

asp.net中Page.ClientScript.RegisterStartupScript用法小结

ClientScript.RegisterStartupScript(Page.GetType(), "Show", "alert('" + l_strConferenceNo + "');",true);原型如下 ClientScript.RegisterStartupScript(Type type, string key, string script,bool addScriptTags);区别是bool addScriptTags为tru

.NET中的特性、属性以及两者的区别

一.特性(Attribute)的概念:公共语言运行时允许添加类似关键字的描述声明,它对程序中的元素进行标注,如类.字段.方法等,其本质上就是一个类,如果没有什么机制来在运行期来获取Attribute的附加信息,那么Attribute就没有什么存在的意义,.NET中以反射机制来实现在运行期获取Attribute的附加信息.那么特性到底长啥样子呢?比如:  在方法的前面加上  [Obsolete("此方法声明为已过期")]  这个特性,其实ObsoleteAttribute就是一个.net