但在源页面中它并没有发现并且看起来像: "/> 代替 我试过在代码后面-6ren">
gpt4 book ai didi

asp.net - 如何在 asp.net 中设置动态元标记?

转载 作者:行者123 更新时间:2023-12-02 05:34:12 24 4
gpt4 key购买 nike

我正在尝试将 facebook 标签添加到页面。对于不同的用户,它们必须不同,所以我尝试动态添加它们。我有这样的代码:

<meta name="og:title" content="<%= GetSocialTitle() %>"/>

但在源页面中它并没有发现并且看起来像:

<meta name="og:title" content="&lt;%= GetSocialTitle() %>"/>

代替

<meta name="og:title" content="some title">

我试过在代码后面设置元数据

HtmlMeta tag = new HtmlMeta();
tag.Name = "og:title";
tag.Content = GetSocialTitle();
Page.Header.Controls.Add(tag);

但它抛出异常“无法修改控件集合,因为控件包含代码块(即 <% ... %>)”。它确实包含而且我无法替换它们。那么我该如何解决这个问题呢?

最佳答案

如果您想使用隐藏代码,请删除 og:title 元标记并将 runat="server"放在 head 标记中。

在标记中:

<head runat="server">
...
</head>

和代码隐藏:

HtmlMeta tag = new HtmlMeta();
tag.Name = "og:title";
tag.Content = GetSocialTitle();
Page.Header.Controls.Add(tag);

如果您不想使用代码隐藏,请从 head 标签中删除 runat server :

<head>
<meta name="og:title" content="<%= GetSocialTitle() %>"/>
...
</head>

关于asp.net - 如何在 asp.net 中设置动态元标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9924807/

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