gpt4 book ai didi

c# - 在 C# 中以编程方式添加元标记

转载 作者:IT王子 更新时间:2023-10-29 04:15:52 25 4
gpt4 key购买 nike

我正在尝试以编程方式添加 <meta> .当有 Head 时它工作正常带有 runat = "server" 的元素在.aspx页面。

后面的代码是:

HtmlMeta meta = new HtmlMeta();
meta.Name = "robots";
meta.Content = "noindex,follow";
this.Page.Header.Controls.Add(meta);

但我在 head 标签中有一些脚本,其中包含类似 <% ... %> 的代码块, 所以我不能保留 runat = "server"值(value)。

问题是我必须以编程方式添加元标记,因为它取决于数据库中的值。

有没有办法解决这个问题,让我在 head 元素中的脚本像往常一样工作,并且我可以通过编程方式添加元标记?

最佳答案

好的,我测试了 answer by veggerby , 它完美地工作:

<header>部分:

<asp:PlaceHolder id="MetaPlaceHolder" runat="server" />

请注意,Visual Studio 可能会在 PlaceHolder 标记上显示警告,因为它未被识别为 header 内的已知元素,但您可以忽略它。它有效。

在 C# 代码中:

HtmlMeta meta = new HtmlMeta();
meta.Name = "robots";
meta.Content = "noindex,follow";
MetaPlaceHolder.Controls.Add(meta);

或者(因为您的 header 部分中已经有使用 <% %> 的代码块),您可以直接标记元并仅从服务器端检索值:

<meta name="robots" content="<%=GetMetaRobotsValueFromDatabase()%>" />

关于c# - 在 C# 中以编程方式添加元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com