web-dev-qa-db-ja.com

ASP.Netコンテンツページにメタタグを追加する方法

1つのマスターページから複数のコンテンツページがぶら下がっています。コンテンツページの1つに更新メタタグを追加する必要がありますが、どこでこれを実行できるかわかりません。

どんな助けでも大歓迎です。

23
doogdeb

リフレッシュでこれを試したことはありませんが、一般的には次のようなメタタグを追加できます。

   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

21
Pleun

このページ は新機能を説明します:ASP.Net 4は2つの新しいメタタグ関連のプロパティをページに追加します。キーワードと説明のメタタグを設定するために使用できます。

コードビハインドで設定できます:

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>
16
DOK

デザイナーページに以下のコードを追加します

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

次のコードを.csページに追加します

    Page.MetaKeywords = "keyword1, keyword2, keyword3";
    Page.MetaDescription = "Example of new meta tag";
4
Kisan Patel
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 );
}

ソースURL

4
Rohit

Htmlのheadセクションのマスターページにコンテンツプレースホルダーを追加できます。その後、特定のコンテンツページのこのコンテンツセクションにコンテンツを追加すると、ページヘッダーに出力されます。

3
Richard Forrest

私がこれを行うために見つけた1つの方法(ここにはリストされていません)は、リテラルを持ち、任意の種類のメタタグで埋めることでした。私の場合、Facebookにサムネイル画像、タイトル、説明を認識させるには、マスターページなしで使用する必要がありました。

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

CodeBehind:

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;
2
DLeh