当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 代码隐藏的编码模型

ASP.NET
如何在命令行下编译一个asp.net项目
ADO 与ADO.NET
当VS.NET2003遇上VS.NET2005,WebService部署何去何从
昨日关注:逐步解说: 将Web Form网页国际化
在.NET下编写中文代码程序
防止同一个程序多次运行。 [VB.NET]
Visual C#设计多功能关机程序
什么是Web Service?
实现ListView控件的行间隔颜色的优化代码
失去信心?还是再度迷惘(二):Mono only is Mono,not .NET never
在Winform中发HTTP请求(调用WebService服务)
.NET中加密和解密的实现方法 3
notNET中加密和解密的实现方法
.NET中加密和解密的实现方法2
mshtml:javascript为HTML文件中的Select添加option
VS.NET解决方案的兼容问题
关于创建快捷方式的小结
使用 GDI+ 进行双缓冲绘图
如何用DataGrid实现根据日期判断是否显示New标志
昨日关注:C-omega vs ADO.net

ASP.NET 中的 asp.net 代码隐藏的编码模型


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 58 ::
收藏到网摘: n/a

asp.net 代码隐藏的编码模型,需要的朋友可以参考下。

一.内联代码与代码隐藏
代码隐藏模型相对内联代码的优势:
1.逻辑代码和html的分离,使得我们可以更专注于业务逻辑的处理。
2.使业务逻辑更加清晰。
3.可以将后置代码编译成dll,使得程序更加安全。
二.后置代码与页面的关系和机制
与代码后置模型相关的三个类。
1.基页面类 page类
.net类库中的page类,page类定义了页面的基本功能。例如:允许存放其他控件、呈现html、提供对asp.net对象的访问(如request、response、session等)。
2.代码后置类
在编译的时候,asp.net利用了分部类的神奇功能把一些额外的代码附加到代码后置类中。
在附加的这部分代码中,把页面上所有控件定义成protected类型的变量,从而使得可以在代码后置类中能够访问这些控件。
3.页面类
asp.net编译器在编译的时候会创建另一个类代表实际的aspx页面,这个类继承自代码隐藏类。
这个类中包含了初始化控件和呈现html的代码。当接受到这个页面请求时,asp.net实例化这个类。
这三各类的关系如下图:

三.代码隐藏文件与页面的连接
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
代码隐藏文件与页面的连接非常简单,在aspx页面顶端的这样一句话就完成了他们之间的连接。
codeFile指定了后置代码的文件,Inherits指定了已经编译的后置代码的类名。
四.控件与页面变量的连接
了解后置代码类和页面类的关系以后,控件如何和页面变量连接的理解就简单多了。
比如:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
asp.net编译器都会附件如下的变量声明到你的代码后置类中,当然这些声明是不可见的:
protected System.Web.UI.TextBox TextBox1;
这样就能够在后置代码类中访问页面控件标签了。
五.事件与事件处理程序的连接
.net当中事件机制是一种非常重要的机制,这一部分放到后面慢慢弄清楚。