2011-03-07 74 views
2

HTML:ASP.net渲染meta标签有效

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

代码隐藏:

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

这使得为:

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

按照this answer它需要有没有ID属性,并以/>结束。

我该如何使它以这种方式呈现?

回答

3

我仍然在.NET 3.5,但是把这个在Page_Load中,它会做你需要的东西:

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

PS:例子是关键词标签,但结果是一样的。

3

您应该删除从<meta>id属性,这意味着该控件将无法从服务器端访问由id而是它它可以被动态地创建,然后添加到页面:

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