1

我有这样的方法:

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”属性,即使可以从其他标签推断出值。

  1. 当我查看网站上的页面源代码时,元标记是正确的。我是否必须以其他方式添加元标记?我怎么做?

  2. 我也收到一个错误,因为我有一个重定向路径(您必须登录才能看到该页面)。对此有什么解决方案?

我会很高兴得到答案,如果对我有帮助,我会接受答案……我花了 3 个小时搜索和尝试。

非常感谢!

4

1 回答 1

-1

尝试使用“名称”而不是“属性”,我在这里做了一个测试,它可以工作。

        meta= new HtmlMeta();
        meta.Attributes.Add("name", "og:title");
        meta.Content = this._product.Name;
        Page.Header.Controls.Add(meta);
于 2012-11-13T12:22:44.913 回答