从内容页面将h1更改为站点主站上的h2

时间:2012-03-23 15:44:19

标签: c# asp.net

我的母版页上有H1标签的徽标。现在我在其中一个内容页面上有一些更重要的东西,并希望将主页面上的H1更改为H2,并在该内容页面上将H2更改为H1,这是最好的方法吗?

我不是在谈论CSS风格,我需要更改标记,它是出于优化目的。

3 个答案:

答案 0 :(得分:6)

确实可以,将标题标记转换为服务器端控件并在适当时进行更改:

HTML

<h1 id="myHeading" runat="server">...</h1>

C#

myHeading.TagName = "h2";

答案 1 :(得分:2)

我想添加@GoranMottram的解决方案,你应该在你的MasterPage中提供一个公共方法,以便ContentPage可以调用它:

在你的主人:

public void ChangeHeading(int type)
{
    if(type < 1 || type > 6) throw new ArgumentException("type");
    myHeading.TagName = "h" + type;
}

然后你可以从你的页面调用它(假设你的主人被称为SiteMaster

((SiteMaster)Page.Master).ChangeHeading(2);

答案 2 :(得分:0)

Goran是一个很好的答案,但如果您不想或无法更改母版页,您也可以使用JavaScript操作文档。

如果发布的答案无效,我可以给你样品