ASP.net render meta tag validly

2019-02-26 00:02发布

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?

2条回答
可以哭但决不认输i
2楼-- · 2019-02-26 00:19

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.

查看更多
beautiful°
3楼-- · 2019-02-26 00:24

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);
查看更多
登录 后发表回答