【转】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 属性,他们的功能作用不同。
【转】asp.net中@page指令的属性Inherits、Src、CodeBehind区别的更多相关文章
- asp.net中@page 指令的属性Inherits、Src、CodeBehind区别
在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. <%@ Page language="c#" C ...
- ASP.NET中@Page指令中的AutoEventWireup
AutoEventWireup:指示控件的事件是否自动匹配 (Autowire).如果启用事件自动匹配,则为 true:否则为 false.默认值为 true.如果设为false,则事件不可用.有关更 ...
- ASP.NET中的指令:
来源:http://www.cnblogs.com/zhuisha/archive/2008/07/02/1234222.html ASP.NET中的指令: @Page指令: @Page指令只能在.a ...
- page指令import属性实例
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别
不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面. 页面指令(Page directive):用来定义JSP页面中特定 ...
- ASP.NET 中 OutputCache 指令参数详解
使用@ OutputCache指令使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常 ...
- 转载ASP.net 中 OutputCache 指令各个参数的作用
使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非 ...
- jsp中page指令用法详解
转自:https://www.jb51.net/article/73428.htm 一.JSP 指令 JSP 指令(directive)影响由 JSP 页面生成的 servlet 的整体结构.下面的模 ...
- ASP.net 中 OutputCache 指令各个参数的作用
使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非 ...
随机推荐
- iOS 10 之 网络权限带来的坑
症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白,完全没数据.kill 掉重新打开就好了. 一开始以为是用户网络情况不好,但随着越来越多的用 ...
- 终极 Shell
在开始今天的 MacTalk 之前,先问两个问题吧: 1.相对于其他系统,Mac 的主要优势是什么?2.你们平时用哪种 Shell?…… 第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令行的 ...
- solr 5.3.1安装配置
1.下载Solr5.3.1 http://mirror.bit.edu.cn/apache/lucene/solr/5.3.1/ wget http://mirror.bit.edu.cn/apach ...
- Markdown 轻量级标记语言
1.Markdown 语言 1.1 Markdown 简介 Markdown 是一种轻量级的标记语言,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷 ...
- tp数据库表大写命名的一些问题
在使用thinkphp时,如果数据库表命名有大写,会被转换成小写加下划线(可以使用$model->_sql())来查看实际执行的sql是什么 这个问题,看了一下源代码,在 Thinkphp/Co ...
- Struts2之数据标签(二)
Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...
- android安卓系统上运行jar文件
原文链接: http://blog.sina.com.cn/s/blog_658c8cea0101mdhp.html 步骤如下: 1. 将文件打包成可执行jar文件(可在eclipse里export) ...
- Bitter Sweet Symphony
当我写下这段话时,另一个我觉醒了. 时间仿佛一下子从2013年的末尾跳到了2014年了,是那么的猝不及防.1990——2014,24岁了,一瞬间,不知不觉已经走过了24个岁月了.过去,我时常会反省着, ...
- Matlab的集合运算[转]
今天遇到一个问题:有向量a和向量b,b是a的子向量(元素全部来自a),求向量a去掉向量b后剩下的元素构成的向量. 这么一个简单的问题,搜了半天也没有得到结果,因为找不到合适的关键词来描述这个问题. 在 ...
- js正则表达式实现手机号码,密码正则验证
手机号码,密码正则验证. 分享下javascript中正则表达式进行的格式验证,常用的有手机号码,密码等. /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,1 ...