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 属性,他们的功能作用不同。

转载于:https://www.cnblogs.com/dadashazhu/articles/2284757.html

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

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

    Inherits.Src.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @page 指令 ...

  2. ASP.NET中@Page指令中的AutoEventWireup

    AutoEventWireup:指示控件的事件是否自动匹配 (Autowire).如果启用事件自动匹配,则为 true:否则为 false.默认值为 true.如果设为false,则事件不可用.有关更 ...

  3. JSP中page指令

    page指令 page指令称为页面指令,用来定义JSP页面的全局属性,该配置会作用域整个页面. page指令的属性可以定义MIME类型.定义需要导入的包.错误页的指定等. page指令的语法格式如下: ...

  4. asp.net中page对象生命周期和各事件执行顺序

    asp.net页面事件执行顺序: 一.初始化部分: 1.构造函数:创建page类的一个实例,初始化page类的属性. 2.AddParsedSubObject函数: protected virture ...

  5. asp.net中的runat=server 属性

    转载于:http://blog.163.com/fighter_lujie/blog/static/128489580201105101938932/ aspx运行时会被编译,其中没有runat se ...

  6. java中属性是什么意思啊_Java中的字段和属性到底有什么区别?

    Java中的字段和属性到底是什么?他们的含义真的是相同的吗?如果不同,那他们到底又分别是何含义呢? 相信上面的问题,对于很多Java初学者都是相当困惑的,但是好像把他们理解为一个含义也没啥问题,很多J ...

  7. html中的url、href、src的区别

    url不是属性,src和href是属性,src用于替换当前元素,href用于在当前文档和引用资源之间确立联系,也就是说src引用的路径是img自己的路径,href引用的路径是要跳转到的地方. URL: ...

  8. asp.net中@Register指令

    @register指令是用来创建标记前缀和自定义控件之间的关联,这提供了一种在asp.net应用程序文件中引用自定义控件的方法 <%@Register tagprefix="" ...

  9. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

最新文章

  1. 【转】Jquery -Ajax 入门练习 Jquery.Ajax 调用后台函数,获取DataTable Json,Asp.net
  2. pyqt5如何循环遍历控件名_利用Python的PyQt5编写GUI界面教学,QT5还是比较难的
  3. java中什么是反转_Java中如何将字符串反转
  4. 从windows到linux的换行转换工具dos2unix
  5. ThinkPHP 中M方法和D方法的具体区别
  6. TCP的粘包和拆包及Netty中的解决方案
  7. java StringBuffer常用方法
  8. 递归--练习6--noi1755菲波那契数列
  9. 哪些管理类的书籍值得推荐?
  10. Java 类目树形结构查询
  11. php在线文件编辑管理器 在线文本查看PHP插件
  12. 云耀服务器切换系统,云耀云服务器切换操作系统
  13. 十大歌手Python
  14. 十款浏览器插件,让你拥有更好的浏览器体验
  15. 云主机搭建Git服务器
  16. Python实现蒙塔卡洛思想
  17. springBoot集成swagger访问报404
  18. JavaScript设计模式综合应用案例
  19. 互联网俨然已成为广告的时代,无处不在,无孔不入
  20. [附源码]计算机毕业设计Python高血压分析平台(程序+源码+LW文档)

热门文章

  1. 敢不敢模拟超过 5 万的并发用户?
  2. 面试|图解kafka的高可用机制
  3. Spring Cloud限流详解(附源码)
  4. 【Python】青少年蓝桥杯_每日一题_5.03_判断是否是三角形
  5. linux递归赋权限,Linux下递归更改文件夹和子文件夹的权限
  6. Dreamwear如何创建javascript_JavaScript还可以处理日期?你只需要这样做
  7. php mongo分页查询,PHP操作Mongodb之高级查询篇
  8. 数据中心进水了怎么办?数据中心如何防洪?
  9. docker mysql 无权限_Docker 中级篇
  10. 如何用python进行量化交易_从零开始学习Python和量化交易