洛枫学院

洛枫学院 » Net » ASP.NET Master Page中的title标题的更变

页码: 1

ASP.NET Master Page中的title标题的更变

- 一片云 2013-02-25 21:43

<%@ Page Language="C#" MasterPageFile="~/MasterPage/Common.master" AutoEventWireup="true" CodeFile="SceneList.aspx.cs" Inherits="Scene_SceneList" Title="洛枫学院---by bbs.102s.com" %>

       this.Master.Page.Header.Title = "aa";
       this.Page.Title = "bb";
内容页一般不需要cs文件,单独成一个文件,然后使用USER_CONTROL
=============================
一 设置Title
1、如果想所有使用了masterpage的页面都是用一个title ,可以在masterpage页中设置title,并将内容页中的title去掉,否则内容页中的title会将masterpage中的title覆盖。

<%@ Page Language="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"CodeFile="MasterpageTest.aspx.cs"Inherits="MasterpageTest"Title="Test"%>
改成


<%@ Page Language="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"CodeFile="MasterpageTest.aspx.cs"Inherits="MasterpageTest" %>
2、如果想每个页面中使用不同等title就比较简单,在内容页中设置就可以,masterpage中的title不用去管,应为最终会被内容页中的覆盖掉。


<%@ Page Language="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"CodeFile="MasterpageTest.aspx.cs"Inherits="MasterpageTest" %>
2、如果想每个页面中使用不同等title就比较简单,在内容页中设置就可以,masterpage中的title不用去管,应为最终会被内容页中的覆盖掉。

在内容页取 masterpage中的属性和字段


在内容页中取masterpage中的属性或字段应该是比较常用的。创建一个masterpageMasterTest.master 和内容页Test.aspx,在MasterTest.master的后台代码中添加一个属性,如下

代码 复制 - 运行

private string m_Name; 
public string Name 
{ 
get { return m_Name; } 
set { m_Name = value; } 
} 

然后在内容页的后台代码中你会发现不能访问masterpage中的属性,这时切换到内容页的源里在上面添加


<%@ MasterType VirtualPath="~/MasterTest.master" %>
再切换到后台中就可以访问masterpage中的属性了。

masterpage页的作用范围


1、页面级
  通常情况下我们使用masterpage都是页面级的,就是在每个内容页中都会来指定masterpage的名字,通过MastPageFile属性来设置,如

<%@ Page Language="C#"MasterPageFile="~/MasterPage.master"  %>

   2、应用程序级
   这中就是只需在webconfig文件中做相应配置,全站所有的内容页都会引用设置的masterpage,如在webconfig中添加如下代码



<configuration>
  <system.web>
     <pagesmasterPageFile="~/Test.master"/>
  </system.web>
</configuration>
这样在内容页中就不用再去设置MastPageFile属性了,所有的内容页都会使用Test.master 。如果有些页面比较特殊需要用其他的masterpage ,可以这是MastPageFile属性,将会覆盖在webconfig中的配置。


   用这种方法也可以对某些文件夹中的所有文件来进行设置,配置如下

代码 复制 - 运行

   <configuration> 
        <location path="Admin"> 
            <system.web> 
                <pages masterPageFile="~/ Test.master " /> 
            </system.web> 
        </location> 
    </configuration>  

Locationpath属性设置路径



================================
  ASP.NETMasterPage改变内容页title方法

  在定义好母版页以后,有时我们需要改变网页的标题但是如果直接在母版页中更改title属性又会导致其他的内容页出现相同的title情况,VS2010中提供了母版页的新功能。

  1.通过内容页中的Page指令中Title属性改变内容页title:


  2.通过编程改变:前提是<head>标志必须是运行在服务器端,即要给它加上runat="server"属性

  voidPage_Load(){......Page.Header.Title="MyTitle";......}

  3.通过内容页的head占位符控件,在VS2008中添加的母版页会在头部有如下按商品asp:ContentPlaceHolder控件(把母版页的title标签拖到该控件内)

  <asp:ContentPlaceHolderid="head"runat="server"><title>无标题页</title></asp:ContentPlaceHolder>

  而内容页往往会添加一个对应的asp:Content控件,只需要改变其中的title标签内容即可

  <asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server"><title>无标题页</title></asp:Content>



masterpage页的作用范围


1、页面级
  通常情况下我们使用masterpage都是页面级的,就是在每个内容页中都会来指定masterpage的名字,通过MastPageFile属性来设置,如

<%@ Page Language="C#"MasterPageFile="~/MasterPage.master"  %>

   2、应用程序级
   这中就是只需在webconfig文件中做相应配置,全站所有的内容页都会引用设置的masterpage,如在webconfig中添加如下代码



<configuration>
  <system.web>
     <pagesmasterPageFile="~/Test.master"/>
  </system.web>
</configuration>
这样在内容页中就不用再去设置MastPageFile属性了,所有的内容页都会使用Test.master 。如果有些页面比较特殊需要用其他的masterpage ,可以这是MastPageFile属性,将会覆盖在webconfig中的配置。


   用这种方法也可以对某些文件夹中的所有文件来进行设置,配置如下

代码 复制 - 运行

   <configuration> 
        <location path="Admin"> 
            <system.web> 
                <pages masterPageFile="~/ Test.master " /> 
            </system.web> 
        </location> 
    </configuration>  

Locationpath属性设置路径



================================
  ASP.NETMasterPage改变内容页title方法

  在定义好母版页以后,有时我们需要改变网页的标题但是如果直接在母版页中更改title属性又会导致其他的内容页出现相同的title情况,VS2010中提供了母版页的新功能。

  1.通过内容页中的Page指令中Title属性改变内容页title:

  <%@PageLanguage=”C#”MasterPageFile=”~/MyMaster.master”Title=”MyTitle”%>

  2.通过编程改变:前提是<head>标志必须是运行在服务器端,即要给它加上runat="server"属性

  voidPage_Load(){......Page.Header.Title="MyTitle";......}

  3.通过内容页的head占位符控件,在VS2010中添加的母版页会在头部有如下按商品asp:ContentPlaceHolder控件(把母版页的title标签拖到该控件内)

  <asp:ContentPlaceHolderid="head"runat="server"><title>无标题页</title></asp:ContentPlaceHolder>

  而内容页往往会添加一个对应的asp:Content控件,只需要改变其中的title标签内容即可

  <asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server"><title>无标题页</title></asp:Content>

页码: 1