如何将元标记添加到ASP.Net内容页面

时间:2011-06-01 09:07:18

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

我在一个母版页上悬挂了几个内容页面。我需要在其中一个内容页面上添加刷新元标记,但我无法看到我可以在哪里做到这一点。

非常感谢任何帮助。

6 个答案:

答案 0 :(得分:20)

没有尝试刷新,但一般情况下你可以添加这样的元标记:

   var keywords = new HtmlMeta { Name = "keywords", Content = "one,two,three" };
                Header.Controls.Add(keywords);

更新:这样可行。检查Rick Strahl http://www.west-wind.com/weblog/posts/2006/Aug/04/No-more-Meta-Refresh-Tags

答案 1 :(得分:16)

This page解释了新功能: ASP.Net 4 为页面添加了2个与Meta标签相关的新属性。它们可用于为关键字和描述设置元标记。

您可以在后面的代码中设置它们:

Page.MetaKeywords = "keyword1, keyword2, keyword3";
Page.MetaDescription = "Example of new meta tag support in ASP.Net 4";

您也可以在@Page指令中设置:

<%@ Page Language="C#" AutoEventWireup="true"
MetaKeywords="keyword1, keyword2, keyword3"
MetaDescription="Example of new meta tag support in ASP.Net 4"
CodeFile="Default.aspx.cs" Inherits="_Default" %>

这些方法中的任何一个的输出都会使html类似于以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>
        ASP.NET 4 Meta Tag Support
    </title>
    <meta name="description" content="Example of new meta tag support in ASP.Net 4" />
    <meta name="keywords" content="keyword1, keyword2, keyword3" />
</head>
<body>
</body>
</html>

答案 2 :(得分:4)

protected void Page_Load(object sender, EventArgs e)
{
  Page.Title          = "Title of page";
  HtmlMeta tag        = new HtmlMeta();
  tag.Name            = "description";
  tag.Content         = "description of page";
  Header.Controls.Add(tag);
  HtmlMeta tagKeyword = new HtmlMeta();
  tagKeyword.Name     = "keywords";
  tagKeyword.Content  = "keywords of page";
  Header.Controls.Add(tagKeyword );
}

source url

答案 3 :(得分:4)

在设计器页面中添加以下代码

    <meta id="metaDescription" runat="server" name="Description" />

现在将以下代码添加到您的.cs页面

    Page.MetaKeywords = "keyword1, keyword2, keyword3";
    Page.MetaDescription = "Example of new meta tag";

答案 4 :(得分:3)

您可以在html的head部分的母版页上添加内容占位符。然后,您可以在特定内容页面的此内容部分添加内容,并将其输出到页眉。

答案 5 :(得分:2)

我发现这样做的一种方法(我在这里没有看到)是使用Literal并用任何你想要的meta标签填充它。就我而言,我需要在没有母版页的情况下使用它,让Facebook识别缩略图,标题和描述:

<head runat="server">
    <asp:Literal runat="server" ID="litMeta" />
...
</head>

代码隐藏:

var img = "<meta property=\"og:image\" content=\"thumbnail.jpg\" />";
var title = "<meta property=\"og:title\" content=\"Title\" />";
var desc = "<meta property=\"og:description\" content=\"Description\" />";
litMeta.Text = img + title + desc;