两种组织页面的模型:单页模型和隐藏代码(CodeBehind)模型。
各自确定和优点:结构问题,单页模型中表现部分和逻辑部分混杂在一起,如要完成的功能比较复杂那么页面的机构就会变得混乱。
我们知道asp.net的页面在运行时,被编译成为一个.net clr所支持的类,该类从System.Web.UI.Page类中派生,然后由asp.net的运行环境负责调用该类的具体方法,生成客户端浏览器中的html代码。并在服务器段保持必要的状态数据。iis发现请求的是aspx类型的,就把请求转交给aspnet_isapi.dll(早期版本),aspnet_wp.exe(后期版本)。运行引分析请求的aspx文件,然后以固定格式将该aspx文件翻译为一个C#语言或者VB。net语言书写的源程序。,然后调用合适的编译器将这个源程序编译为MSIL中间语言书写的类。缺省状况下,这个MSIL语言语言书写的中间结果被缓存起来,
中间语言书写的临时类被JIT编译器再次编译,生成平台相关的可执行代码。
.net CLR支持的类在继承时,采用的是实现继承的方法。即在默认的情况下,子类拥有父类的方法和具体的实现代码以及供asp.net运行环境调用的一组方法。。。。
两个文件在应用程序运行时形成一个整体。
指定继承的关键是Page指令的Inherits属性,可以在该属性中指定最终的页面类继承的基类。这个基类就是隐藏代码中定义的从System.Web.UI.Page派生的类。指定该基类 有两种方式 ,
一种是直接指定隐藏代码的源文件,
另一种是指定该基类编译生成的装配件。
源代码继承比较简单,Page指令中--Src属性指向隐藏代码类文件即可。Src可带路径,但是必须为虚拟路径。
----------------指定基类,这个类的关系还是没有理清楚。
采用隐藏代码模型工作的asp.net页面,一般不使用自动事件绑定,而是指定Page指令的AutoEventWireUp属性为false,