使用母版页
在ASP.NET2.0中新添加了母版页这个控件,在此之前我也曾经有过类似的做法,将某页面中放置一个PlaceHolder,然后根据QueryString中传递的参数在OnLoad中加载不同的Control放到Placeholder中,现在有了母版页一切变得简单了。
母版页就是一个模板,规定了页面中必须具备的并且变动不大的内容,是对网站固定元素的一种抽象,例如logo和导航之类的,一个网站可以有多个母版页,母版页也可以嵌套使用。
需要注意的是1、母版页不支持Theme.。2、母版页必须是页面的顶级元素,其他页面中不再需要<html></html>之类的。
创建一个母版页,然后按照编辑任何其他页面一样编辑,注意其中的ContentPlaceHolder,给他取一个名字,就是ID=“name”,在套用该母版页的页面中,首先要在Page指令中指明套用的母版页面地址,例如MasterPageFile="~/FrontMP.master",页面中添加一个<asp:Content>,并指定ContentPlaceHolderID为母版页中的ID,然后将页面内容放置在asp:content中即可。
访问母版页的成员
首先引用页需要使用<%@ MasterType VirtualPath="~/MainMP.master" %>指定对母版页的强类型引用,然后使用Master.XXXX即可。当然母版页的成员需要是可以访问到的。
访问母版页中的控件
首先使用Master.FindControl()得到母版页的ContentPlaceHolder,然后使用ContentPlaceHolder的FindControl。
对于用户位置这样的信息,使用上述两种方法都可以,但觉得第一种更简单直观一些。
母版页就是一个模板,规定了页面中必须具备的并且变动不大的内容,是对网站固定元素的一种抽象,例如logo和导航之类的,一个网站可以有多个母版页,母版页也可以嵌套使用。
需要注意的是1、母版页不支持Theme.。2、母版页必须是页面的顶级元素,其他页面中不再需要<html></html>之类的。
创建一个母版页,然后按照编辑任何其他页面一样编辑,注意其中的ContentPlaceHolder,给他取一个名字,就是ID=“name”,在套用该母版页的页面中,首先要在Page指令中指明套用的母版页面地址,例如MasterPageFile="~/FrontMP.master",页面中添加一个<asp:Content>,并指定ContentPlaceHolderID为母版页中的ID,然后将页面内容放置在asp:content中即可。
访问母版页的成员
首先引用页需要使用<%@ MasterType VirtualPath="~/MainMP.master" %>指定对母版页的强类型引用,然后使用Master.XXXX即可。当然母版页的成员需要是可以访问到的。
访问母版页中的控件
首先使用Master.FindControl()得到母版页的ContentPlaceHolder,然后使用ContentPlaceHolder的FindControl。
对于用户位置这样的信息,使用上述两种方法都可以,但觉得第一种更简单直观一些。