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?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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.
Method 2
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);
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0