内容页中修改母版页内容

1,使用Title属性

   如果只想在每个内容页中修改页标题,可以使用<%@Page %>指令中的Title属性。这个属性可以接受任意字符串。

   例:

   <%@Page Language="C#" MasterPageFile="~/Master.master" Title="ContentPage File" %>

 

2,使用 Page Header 属性

  如果需要通过编程的方式修改母版页的页标题或CSS规则,可以使用Page.Header属性。这个属性返回一个实现IPageHeader接口的对象。这个接口具有以下属性:StyleSheet、Title 

  例:

  void Page_Load()

  {

     Page.Header.Title = String.Format("Header Content({0})",DateTime.Now);

     Style myStyle = new Style();

     myStyle.BackColor = System.Drawing.Color.Red;

     Page.Header.StyleSheet.CreateStyleRule(myStyle,null,"html");

   }

 

3,修改内容页的<meta>标签,为搜索引擎提供索引

   Page.Header属性返回的是母版页的服务器端<head>标签,可以将该属性返回的对象转换成HTMLHead控件,从而修改母版页的<meta>标签。

   例:

  void Page_Load()

  {

     HtmlMeta metaDesc = new HtmlMeta();

     metaDesc.Name = "Description";

     metaDesc.Content = "A sample of using HtmlMeta controls";

 

     HtmlMeta metaKeywords = new HtmlMeta();

      metaKeywords.Name= "Keywords";

     metaKeywords.Content = "HtmlMeta,Page.Header,ASP.NET";

 

     HtmlHead head = (HtmlHead)Page.Header;

     head.Controls.Add(metaDesc);

     head.Controls.Add(metaKeywords);

   }

 

4,对母版页使用FindControl()方法

   如果需要在内容页中修改母版页中的控件,可以使用FindControl()方法实现。

   例:

    母版页中包含了名为ltlBodyTitle的Literal控件。

   voidPage_Load()

   {

      Literal ltlBodyTitle =(Literal)Master.FindControl("ltlBodyTitle");

      ltlBodyTitle.Text = "The Body Title";

    }

posted @ 2012-02-29 23:48  ishibin  阅读(394)  评论(0编辑  收藏  举报