2

HTML:

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

Codebehind:

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

This renders as:

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

As per this answer it needs to have no ID attribute, and close with />.

How can I make it render in this way?

Community
  • 1
  • 1
Tom Gullen
  • 61,249
  • 84
  • 283
  • 456

2 Answers2

3

I am still on .net 3.5 but put this in Page_Load and it will do what you need:

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

PS: the example is for the keywords tag but the result is the same.

Pleun
  • 8,856
  • 2
  • 30
  • 50
3

You should remove the id property from the <meta>, this means the control won't be accessible from the server side by id but instead of it it could be dynamically created and then added to the page:

HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = ThisBlog.MetaDescription;
this.Header.Controls.Add(meta);
Oleks
  • 31,955
  • 11
  • 77
  • 132