ASP.net корректно отображает метатег

HTML:

<meta name="description" runat="server" id="MetaDescription" content="" />

Код программной части:

MetaDescription.Attributes["content"] = ThisBlog.MetaDescription;

Это выглядит как:

<meta id="HeadContent_MetaDescription" name="description" content="My page description"></meta>

В соответствии с этим ответом он не должен иметь атрибута ID и закрываться с помощью /> .

Как я могу сделать так, чтобы это отображалось?


person Tom Gullen    schedule 07.03.2011    source источник


Ответы (2)


Я все еще на .net 3.5, но поместил это в Page_Load, и он сделает то, что вам нужно:

HtmlMeta keywords = new HtmlMeta();
keywords.Name = "keywords";
keywords.Content = "one two trhee;
Header.Controls.Add(keywords);

PS: пример для тега ключевых слов, но результат тот же.

person Pleun    schedule 07.03.2011

Вы должны удалить свойство id из <meta>, это означает, что элемент управления не будет доступен со стороны сервера по id, но вместо этого он может быть динамически создан, а затем добавлен на страницу:

HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = ThisBlog.MetaDescription;
this.Header.Controls.Add(meta);
person Alex    schedule 07.03.2011