日期:2014-05-18  浏览次数:20481 次

母版页的运行机制是怎么样的?
msdn上的例子我不太明白。
一个内容页利用母版页的时候,建立了哪些对象?这些对象的载入顺序是怎样的?怎样的生命周期,函数如:内容页的pre_load,模板页的pre_load的运行顺序是怎样的。

提交的时候,假设模板页有自己的空间,内容页也有自己的控件,又是如何提交的。编译程序是怎样选择提交的对象的?在浏览器中看到的页面毕竟只有一个。

我提得问题可能都非常的混乱,因为我很混乱,大家讲究看吧。

------解决方案--------------------
在运行时,母版页是按照下面的步骤处理的:

用户通过键入内容页的 URL 来请求某页。

获取该页后,读取 @ Page 指令。如果该指令引用一个母版页,则也读取该母版页。如果这是第一次请求这两个页,则两个页都要进行编译。

包含更新的内容的母版页合并到内容页的控件树中。

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

浏览器中呈现得到的合并页。


------解决方案--------------------
先读取母版页的内容,再读取子页面的内容,然后进行合并
------解决方案--------------------
ziyeping(觉醒的学生) ( )
========================>
基本正确

注意加载母版页与内容页会触发的几个事件顺序:
母版页中控件Init事件;
内容页中Content控件Init事件;
母版页Init事件;
内容页Init事件;
内容页Load事件;
母版页Load事件;
内容页中Content控件Load事件;
内容页PreRender事件;
母版页PreRender事件;
母版页控件PreRender事件。
内容页中Content控件PreRender事件。

请参考一下:
http://u00.blog.hexun.com/4338139_d.html