.net 模板页和内容页面的关系解析

一、模板页面和内容页面区别
模板页面与普通".aspx"文件代码相比,母版页代码有3点差异:


(一)是母版页与普通".aspx"文件在代码结构方面基本没有差异,二者都需要声明<html>、<body>、<form>及其他Web元素等。但文件的代码头声明不一样,普通".aspx"文件的代码头声明是<%@ Page %>,而母版页文件的代码头声明为<%@ Master %>。


(二)是在母版页中可以包括一个或者多个ContentPlaceHolder控件,而在普通".aspx"文件中不包含该控件。ContentPlaceHolder控件起到一个占位符的作用,能够在母版页中标识出某个区域,该区域将由内容页中的特定代码代替。


(三)是母版页的扩展名是".master",这一点与普通".aspx"文件不同。网站访问者不可以直接访问母版页,必须通过内容页对母版页的绑定,才能够间接访问母版页。

二、模板页面和内容页面运行机制
单独的母版页是不能被用户所访问的。没有内容页支持,母版页仅仅是一个页面模板,没有更多的实用价值。同样道理,单独的内容页没有母版页的支持,也不能够应用。这两者是不可分割的,只有同时正确创建和使用母版页及内容页,才能发挥它们的强大功能

母版页和内容页的运行过程可以概括为以下5个步骤。

a、用户通过输入内容页的URL来请求某内容页。

b、获取内容页位置后,读取内容页@ Page指令。如果该指令引用一个母版页,则读取该母版页。

c、读取母版页后,编译母版页,将母版页载入内容页的控件树中。

d、将各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。

e、呈现得到结果页。

三、模板页面和内容页面事件分析
事件运行顺序:
1 、protected void Page_Init(object sender, EventArgs e){模板的}
2 、protected void Page_Init(object sender, EventArgs e){内容的}
3、 protected void Page_Load(object sender, EventArgs e){内容的}
4、 protected void Page_Load(object sender, EventArgs e){模板的}
5、 protected void Page_UnLoad(object sender, EventArgs e){模板的}
6、 protected void Page_UnLoad(object sender, EventArgs e){内容的}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值