删除或更改母版页中的元标记

时间:2010-08-06 13:59:30

标签: asp.net meta-tags master-pages

我有一个母版页,我在masterpage.master.cs中写了元标记。 在从主页面生成的类别页面中,每个类别都有自己的元标记。 当用户访问category.aspx时,我想更改元标记。 所有元标记都是动态创建的,它们没有id或runat,因为我使用for循环动态创建它们(从数据库中读取数据)。

所以我无法更改页面和元标题的标题。我怎样才能做到这一点?


谢谢大卫。但是如果用户想要添加元标记,用户怎么做呢? 我的DB设计就像那样,我必须用for循环创建标签。这不好吗? http://img843.imageshack.us/img843/6940/metadb.png

还有其他方法来编写这些标签吗?

@lvo,谢谢你的回答。但是这个。标题不起作用。我写了但没有改变。 此外,我没有在ContentPlaceHolder中添加任何文字或标签ID。因为如果我把文字或其他内容写成元标记,页面中会有2个描述或关键字。 SEO适合哪一个? 有没有其他方法可以删除所有元标记?

3 个答案:

答案 0 :(得分:2)

更改标题用途:

  

this.Title

要更改元标记,请将占位符放在母版页的头部。

<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">  
</asp:ContentPlaceHolder> </head>

您还可以在该占位符中放置文字,然后使用数据库中的元数据值填充此文字服务器端的“text”属性

答案 1 :(得分:1)

更改您的程序设计。想到的前两个选择是:

  1. 不要在DB
  2. 的循环中生成META标记
  3. 为此页面使用不同的母版页。 &lt; - 为了简单起见,更好的选择。
  4. 我知道这似乎是一个轻率的答案,但实际上,为什么要让自己(以及那些跟在你身后的可怜的维护程序员)比以前更难?保持简单。

答案 2 :(得分:0)

我解决了我的问题。我在masterpage.master.cs中编写了元标记。因此,这个母版页生成的其他页面都从主页面获取元标签。我们已经无法更改标签了。也许我们可以改变,但我找不到任何代码。 我在default.cs中编写了我的元标记,其他页面现在正常。 谢谢你的回复。