ASP.net 有效渲染元标记

发布于 2024-10-20 15:12:07 字数 557 浏览 6 评论 0原文

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 属性,并以 /> 结束。

我怎样才能让它以这种方式渲染?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余罪 2024-10-27 15:12:07

我仍在使用 .net 3.5,但将其放入 Page_Load 中,它将执行您需要的操作:

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

PS:该示例适用于关键字标签,但结果是相同的。

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.

春庭雪 2024-10-27 15:12:07

您应该从 中删除 id 属性,这意味着该控件无法通过 id 从服务器端访问,但是相反,它可以动态创建然后添加到页面中:

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

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文