作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
但在源页面中它并没有发现并且看起来像: "/> 代替 我试过在代码后面-6ren">
我正在尝试将 facebook 标签添加到页面。对于不同的用户,它们必须不同,所以我尝试动态添加它们。我有这样的代码:
<meta name="og:title" content="<%= GetSocialTitle() %>"/>
但在源页面中它并没有发现并且看起来像:
<meta name="og:title" content="<%= 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/
我是一名优秀的程序员,十分优秀!