ASP.NET 2.0学习笔记(五)—— Master Page

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

首先,因为这篇内容很少,所以废话居多。顺便提一下,有空在这儿看我这种闲人的笔记并发表详论,甚至有空看电脑报的大叔,您不如多发点时间去做点大叔应该做的事吧。本人不仅虚伪,而且不喜欢任何有意义或无意义的批评。Just For Fun! No Class!

CSDN不知道是为了强烈证明微软的SQL SERVER的强健性,每日每夜总要无数次地为我们展现连接池满的异常提示。为了删除发表上一篇文章时按了N次F5的后遗症,我再一次NF5,总算把多余的文章给删除了。

上次提到的是主题和样式,而这回要提到的是Master Page(有称呼为母页面或者主页面的,总觉得不是很清楚,因此使用英文原词)也是ASP.NET 2.0针对WEB特性的改进之一吧。感觉2.0把普通的WEB特性都引入到服务器了。Master Page从设计上来看有点像是服务器端的框架。

不管是ASP开始的include还是ASP.NET的用户控件,都是页面公共部分的一个解决方案。而2.0引入的Master Page则给了一个更好的选择。

Master Page实际上更像Dreamweaver的模板,只不是,它是实际存在的,而不像Dreamweaver只是存在于设计时。Master Page定义了一个共同风格站点的框架,在它的内部使用占位符来表示实际可以修改的部分。具体语法如下。

在页面的声明中取代Page指令的是Master指令,如<%@ Master Language="C#" %>。Master Page中的语法和普通的页面并没有多少差别,不过有一个占位符控件。如<asp:contentplaceholder id="FlowerText" runat="server"/>。在占位符中的内容则是它的默认内容,如果在使用这个Master Page的ASPX页面中没有为这个占位符提供新的定义,那么它将显示它的默认内容。为了和普通页面区分开来,Master Page以后缀名.master结束。

在页面中使用Master Page的方法是在Page的声明中的MasterPageFile属性指定Master Page的路径。在页面中可以通过定义占位符的内容来显示不同的效果。语法如下(例子Copy自QuickStart):

<asp:content id="Content1" contentplaceholderid="FlowerText" runat="server">

With sunshine, water, and careful tending, roses will bloom several times in a season.

</asp:content>

实际上,页面中如果引用了Master Page,就只能定义占位符对应的内容了。那么不同文件的标题呢?在Page指令中。一个Title属性指定了每页的标题。

Master Page并没有解决链接的相对路径问题,非常遗憾,我们还是得使用绝对路径或者应用程序相关路径(ASP.NET特定的~)来为不同路径下的引用解决路径问题。

为了在代码中调用并修改Master Page的内容,在页面中加入如下指令<%@ MasterType VirtualPath="Site.master" %>。在代码中使用Master. 就可以调用Master中的内容了,这里的调用有两种方法,提供强类型方式的属性或者直接操作Master Page中的控件。

Master Page是可以嵌套的,可以轻松为一个站点制定一个总的框架,再为每个部分制定一个更详细的框架。

在一个Master Page中引用另一个Master Page的语法和Page是一样的,因此,它也只能包含asp:content这样的东东了。

最近的学习都缺少实践,但是对于(形容词略去大约500个字)的我来说,it's nothing。如果在实践后有什么新的看法,再写新的笔记吧。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航