分享
 
 
 

ASP.NET页面模型

王朝学院·作者佚名  2009-11-04
窄屏简体版  字體: |||超大  

一、ASP.NET页面

一个ASP.NET页面(或者称为ASP.NET窗体)由以下几个部分组成:

1、指令

(包括@Page、@Import、@OutputCache、@Implements、@Register、@Master、@Control…)

2、Head(HTML文档头)

3、Body(HTML文档体)

窗体元素(form)

控件(html标记、服务器控件标记)

4、代码(客户端代码,服务端代码)

每个ASP.NET窗体页都包含网页指令。使用这些指令可以控制Web窗体页的行为。基本上,这些指令都是用于编译时的开关选项。网页指令都是以@开头的。其一般格式如下:

<%@ Page Language="C#" % CodeFile=”Default.aspx” Inherit=”Default”>

这些指令较多,而且每一个指令又有许多属性,我们采取使用到哪个讲哪个的策略。这里我们首先介绍最重要的@Page指令,它说明该.aspx页面是一个HTML窗体。Language属性说明该页面处理程序使用的是哪种语言,CodeFile属性说明该页面的程序存放在哪个代码隐藏页文件中,Inherit属性说明该页面是由哪个类负责处理的。如:

<%@ Page Language="C#" % CodeFile=”Default.aspx” Inherit=”Default”>

<form>元素:如果页面包含允许用户交互并提交的控件,则该页面必须包含一个form元素。form元素必须包含runat属性,其属性值设置为server。对于ASP.NET而言一个页面有且只能一个<form runat=”server”>标记。

二、ASP.NET页面代码模型

ASP.NET中每一个页面都有一个类负责对页面的各种操作进行处理,因此.Net Framework把常用的通用功能抽取出来形成一个基类:System.Web.UI.Page。我们所编写的每一个ASP.NET页面都应当从这个类继承。

上述单元一讲到:ASP.NET页面包括标记和代码。根据标记和代码的组织方式不同,ASP.NET页面的代码模型主要的有两种:

1、内置代码模型:标记服务器端元素以及事件处理代码全都位于同一个.aspx文件中。在对该页进行编译时,编译器将生成和编译一个从Page基类派生的新类。生成的类将编译成程序集,并将该程序集加载到应用程序域,然后对该页类进行实例化,并执行该页类以将输出内容呈现到浏览器。图1为内置代码模型页面中的页类的继承模型。

其特点是:

1)页面内代码如果不多,便于程序员阅读;如果代码较多,不便维护;

2)容易部署和管理;

3)文件之间没有依赖性,方便对文件改名。

2、后台代码(代码隐藏)模型:页面中的标记和服务器端元素(包括控件声明)位于.aspx文件中,而页代码则位于单独的代码隐藏文件(.aspx.cs)中。该代码隐藏文件包含一个分部类,即具有关键字partial的类声明,以表示该代码隐藏文件只包含构成该页的完整类的全体代码的一部分。在分部类中,添加应用程序要求该页所具有的代码,此代码通常由事件处理程序构成,但是也可以包括用户需要的任何方法或属性。

其特点是:

1)标记和代码分离,便于页面设计和开发分工合作;

2)便于代码重用。

代码隐藏页的继承模型如图2所示 :

(1)代码隐藏文件包含一个继承自基页类的分部类。基页类可以是Page类,也可以是从Page派生的其他类。

(2).aspx文件在@Page指令中包含一个指向代码隐藏分部类的Inherits属性。

(3)在对该页进行编译时,ASP.NET将基于.aspx的文件生成一个分部类,生成的部分类文件包含页控件的声明、事件注册等。使用此分部类,可以将代码隐藏文件用作完整类的一部分,而无须显式声明控件。

(4)步骤(3)中生成的部分类和.aspx.cs文件中的部分类代码合并,生成该页所需的完整代码,编译成程序集,运行该程序集可以将输出呈现到浏览器。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有