0

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

所以我不能改变页面的标题和元标记。我怎样才能做到这一点?


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

有没有其他方法可以编写这些标签?

@lvo,谢谢你的回答。但是 this.Title 不起作用。我写了它,但没有任何改变。此外,我没有在 ID 的头部的 ContentPlaceHolder 中放置任何文字或标签。因为如果我输入文字或其他内容并编写元标记,页面中将有 2 个描述或关键字。哪一个适合 SEO?有没有其他方法可以删除所有元标记?

4

3 回答 3

2

要更改标题,请使用:

this.Title

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

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

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

于 2010-08-06T14:04:07.603 回答
1

改变你的程序设计。首先想到的两个选择是:

  1. 不要从数据库循环生成 META 标签
  2. 为这一页使用不同的母版页。<-- 为了简单起见,更好的选择。

我知道这似乎是一个轻率的答案,但实际上,为什么要让你自己(以及跟随你的可怜的维护程序员)变得比他们必须的更难?把事情简单化。

于 2010-08-06T14:05:16.587 回答
0

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

于 2010-08-06T21:46:18.900 回答