一使用代码隐藏页

partial在.net2.0中是一个编译熟性,主要用来分离界面设计代码与用户的逻辑代码,比方添加一个使用隐藏代码的的页面,test.aspx,那么实际上会有两个类,三个cs文件,一个是test类(假设test.aspx在根目录下),test是部分类,页面设计代码中的一些控件会变量声明会在另个同类名的编译文件中自动生成,在编译后这两个类就合并成一个类即编译后的代码不会存在partial一说,而页面类test.aspx.cs会继承合并后的test类,并在控件树生成时将对应控件实例附值给test类的控件变量声明。

----------------Test部分类,隐藏部分代码------------------

public partial class Test: System.Web.SessionState.IRequiresSessionState {
    #line 40 "D:\Projects\Trade.GYZS.NET\gyzs.net\Admin\BasicData\TradeClassEdit.aspx"
    protected global::System.Web.UI.WebControls.TextBox txtParentName;

...}

-----------------Test部分类,用户定义部分------------------

public partical class Test:Page{...}

----------------Test Aspx页面代码--------------------------

public class Test_aspx : global::Test, System.Web.IHttpHandler {...}

二直接在aspx中包含代码

使用直接页时生成的代码不会使用部分类特性,参考下面的代码(asp.net2.0)

public class Test_aspx : global::System.Web.UI.Page, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler{...}

这个类在命名空间ASP下,页面上的控件标签在解析识别后,会变成Test_aspx类内部的保护变量,如:

#line 133 "D:\Projects\Trade.GYZS.NET\gyzs.net\UserCenter\Subscribe\SubscribeManager.aspx"
        protected global::System.Web.UI.WebControls.Button butAdd;

这些变量在构建控件树时被实例化并。

-------------------------------------------

需要注意的是,不管使用隐藏代码还是直接页面,最后形成的执行类,Test_aspx类(最后执行用户请求的类是Test_aspx,注意IHttpHandler接口)其代码基本相同,多继承了Page类,实现了IHttpHandler接口与IRequiresSessionState接口(一个会话相关接口)。

------------------

补充:

在@Page 指顶Debug="true" 以使该页面编译的临时代码保存下来方便查看

在web.config 可以具体设置编译文件临时目录,查看生成的中间代码

<compilation tempDirectory="d:\compilationTemp"  debug="true">
  </compilation>

关于asp.net中partial,asp.net编译笔记相关推荐

  1. ASP编程中的Microsoft JScript 编译错误 错误 '800a03ec'缺少;的解决方法.

    解决方法: 试: "组件服务",在组件服务中找到Excel进行配置; 给everyone,network控制权限,Microsoft Excel Application DCOM ...

  2. 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本

    本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过Asp.Net创建PDFs,就像HTML和ASP.Net为文本提供了多种容器一样,iTextSharp ...

  3. Asp.Net中几种相似的标记符号:解释及用法 还有许多细节

    1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...

  4. 低调的华丽:从服务器开发的角度认识 asp.net 中的回调技术

    谈到异步调用,大家第一反应就是 ajax.这没有错,毕竟这是一个 ajax 的时代,ajax 以它最令人兴奋的客户端体验被大家普遍使用到 Web 开发中来.然而,我们知道,ajax 的本质仍是 Jav ...

  5. ASP.NET中的配置文件

    ASP.NET中的配置文件 原创 2014年10月13日 08:15:27 1199 在机房收费系统的时候曾经应用过配置文件,当时也就那么一用对配置文件了解的不是很透彻,下面就来总结一下有关配置文件的 ...

  6. [ASP.NET]ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解及OWIN及IDENTITY

    篇一 : ASP.NET中的Inherits.CodeFile.CodeBehind的区别详解 Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计W ...

  7. ASP.NET中.aspx文件和.aspx.cs文件的功能区别和特点

    .aspx与aspx.cs区别特点和功能 1) 首先了解一下整个asp.net网站的结构特点 整个网站 aspx/cshtml:前台页面,区别是编译引擎不一样,后者在ASP.net MVC3中引入 . ...

  8. ASP.NET中 RequiredFieldValidator(非空验证)的使用

    ylbtech-ASP.NET-Control-Validator: RequiredFieldValidator(非空验证)的使用 ASP.NET中 RequiredFieldValidator(非 ...

  9. 搜集《ASP.NET中常用的26个优化性能方法》

    1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接 ...

最新文章

  1. 一周小程序学习 第1天
  2. addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用
  3. SAP TableControl 控制单个单元格输入
  4. linux-dns的安装
  5. WP7应用开发笔记(8) IP输入框控件
  6. 专业App开发:设计App图标的三个关键点
  7. jqgrid 使用小记——与springboot jpa 一起使用的分页,翻页。(使用springboot jpa 原生的分页)...
  8. 如何卸载twincat3_TwinCAT软件安装FAQ
  9. h5页面 请在微信客户端打开链接_电脑版微信网页授权提示请在微信客户端打开链接?...
  10. 7-2 新胖子公式 (5 分)
  11. 水花兄弟(Splash Brothers)
  12. 当电竞选手成为一种职业,游戏手机是否也会炙手可热?
  13. 阿里设计师带你探讨UxD设计是什么?
  14. 使用easypoi导入导出excel,SSM和SpringBoot通用代码
  15. 论文发表的刊物级别怎么查询呢
  16. 朱有鹏老师linux核心大讲堂---ARM裸机第十一部分 NandFlash和iNand学习笔记
  17. 计算机老师发展的现状,计算机专业教师队伍的现状分析.doc
  18. 浅谈VMware下安装Linux的网络设置 -- NAT
  19. nrf52832学习笔记(3)设置发射功率
  20. 怎么才能把ppt转换成word文档

热门文章

  1. VR创投寻鹰会,一场深圳VR行业人的大聚会
  2. KVM虚拟化笔记(七)------kvm虚拟机VNC的配置
  3. FFmpeg资料来源简单分析:libswscale的sws_getContext()
  4. .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作
  5. Android 开发中常用小技巧
  6. heic怎么查看,如何打开heic
  7. 关于类黄酮和类胡萝卜素
  8. 两条水位线的业务需求分析-Interval JOIN方案(转载+自己分析整理)
  9. superset数据集birth_names的负时间戳处理
  10. 传递函数尾1法和首1法及具体举例+H(s)与H(z)在书中出现的目的