我正在尝试将facebook标签添加到页面中.它们必须针对不同的用户有所不同,所以我尝试动态地添加它们.我有这样的代码:
<meta name="og:title" content="<%= GetSocialTitle() %>"/>
Run Code Online (Sandbox Code Playgroud)
但是在源页面中它没有发现并且看起来像:
<meta name="og:title" content="<%= GetSocialTitle() %>"/>
Run Code Online (Sandbox Code Playgroud)
代替
<meta name="og:title" content="some title">
Run Code Online (Sandbox Code Playgroud)
我试图在代码中设置meta
HtmlMeta tag = new HtmlMeta();
tag.Name = "og:title";
tag.Content = GetSocialTitle();
Page.Header.Controls.Add(tag);
Run Code Online (Sandbox Code Playgroud)
但它抛出异常"控件集合无法修改,因为控件包含代码块(即<%...%>)".它真的包含,我无法取代它们.那么我该如何解决这个问题呢?
Ant*_*ula 12
如果你想使用后面的代码删除og:title元标记并将headat ="server"放在head标记中.
在标记中:
<head runat="server">
...
</head>
Run Code Online (Sandbox Code Playgroud)
和代码背后:
HtmlMeta tag = new HtmlMeta();
tag.Name = "og:title";
tag.Content = GetSocialTitle();
Page.Header.Controls.Add(tag);
Run Code Online (Sandbox Code Playgroud)
如果您不想使用代码,请从head标记中删除runat服务器:
<head>
<meta name="og:title" content="<%= GetSocialTitle() %>"/>
...
</head>
Run Code Online (Sandbox Code Playgroud)