Как добавить метатег на страницу содержимого ASP.Net - PullRequest
22 голосов
/ 01 июня 2011

У меня есть несколько страниц контента, свисающих с одной главной страницы.Мне нужно добавить метатег обновления на одну из страниц контента, но я не вижу, где я могу это сделать.

Любая помощь будет принята с благодарностью.

Ответы [ 6 ]

20 голосов
/ 01 июня 2011

Не пробовал это с обновлением, но в целом вы можете добавить метатег так:

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

обновление : это возможно. Проверьте Рик Страл http://www.west -wind.com / блог / сообщений / 2006 / Август / 04 / No-более-Meta-Refresh-теги

16 голосов
/ 01 июня 2011

Эта страница объясняет новую функцию: 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>
4 голосов
/ 17 декабря 2012

добавить код ниже на странице дизайнера

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

Теперь добавьте следующий код на вашу страницу .cs

    Page.MetaKeywords = "keyword1, keyword2, keyword3";
    Page.MetaDescription = "Example of new meta tag";
4 голосов
/ 03 сентября 2012
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 )

3 голосов
/ 01 июня 2011

Вы можете добавить заполнитель содержимого на главной странице в разделе заголовка HTML. Затем вы можете добавить материал в этот раздел контента на вашей конкретной странице контента, и он будет выведен в заголовок страницы.

2 голосов
/ 20 января 2014

Один из способов сделать это (чего я здесь не увидел) - это получить литерал и заполнить его любыми мета-тегами.В моем случае мне нужно было использовать его без главной страницы, чтобы 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;
...