我有这样的方法:
private void LoadMetaTagsForFacebook()
{
HtmlMeta meta = new HtmlMeta();
meta.Attributes.Add("property", "fb:app_id");
meta.Attributes.Add("content", "");
Page.Header.Controls.Add(meta);
meta = new HtmlMeta();
meta.Attributes.Add("property", "og:url");
meta.Attributes.Add("content", Request.Url.ToString());
Page.Header.Controls.Add(meta);
meta = new HtmlMeta();
meta.Attributes.Add("property", "og:site_name");
meta.Attributes.Add("content", "Site.com");
Page.Header.Controls.Add(meta);
meta = new HtmlMeta();
meta.Attributes.Add("property", "og:title");
meta.Attributes.Add("content", this._product.Name);
Page.Header.Controls.Add(meta);
meta = new HtmlMeta();
meta.Attributes.Add("property", "og:image");
meta.Attributes.Add("content", this._product.ImagePath);
Page.Header.Controls.Add(meta);
meta = new HtmlMeta();
meta.Attributes.Add("property", "og:type");
meta.Attributes.Add("content", "drink");
Page.Header.Controls.Add(meta);
}
但是当我运行调试器时,我收到了这个错误:
推断属性:应明确提供“og:url”属性,即使可以从其他标记推断出值。 推断属性:应显式提供'og:title'属性,即使可以从其他标记推断出值。 推断属性:应明确提供'og:description'属性,即使可以从其他标记推断出值。 推断属性:应明确提供'og:image'属性,即使可以从其他标记推断出值。
当我查看网站上的页面源代码时,元标记是正确的。我是否必须以其他方式添加元标记?我怎么做?
我也收到错误,因为我有一个重定向路径(您必须登录才能看到该页面)。这个解决方案是什么?
我会很高兴找到一件衣服,如果能帮助我,我会接受答案。我花了3个小时搜索和尝试。
非常感谢!
答案 0 :(得分:0)
尝试使用“名称”而不是“属性”,我在这里做了一个测试并且它有效。
meta= new HtmlMeta();
meta.Attributes.Add("name", "og:title");
meta.Content = this._product.Name;
Page.Header.Controls.Add(meta);