我需要从后面的代码中读取页眉中的og:image的标记内容。我怎么能这样做?
<meta property="og:image" name="og:image" content="mydomain.com/testing.jpeg" />
我想从后面的代码中读取的字符串是“mydomain.com/testing.jpeg”。
答案 0 :(得分:1)
aspx页面的head标签在服务器上运行&#39;属性集,以便您可以通过编程方式从代码中访问它。
解决您的具体问题:
var stuffWrapper = this.head.Parent.Controls[0];//("og:image");
var stuff = ((System.Web.UI.HtmlControls.HtmlMeta)stuffWrapper).Content;
通常,您可以在控件集合上使用.FindControl
方法来获取对aspx标记的编程访问。不确定&#39;点缀 - 符号 - 路径&#39;您必须发现允许.FindControl
方法起作用。
因此,在这种特定情况下,您必须知道元标记在head标记中的零索引位置。如果您将来重新排序标题中的标记,您的代码将表现不佳。
答案 1 :(得分:0)
您还可以从后面的代码生成元标记。这样你就可以完全控制。
HtmlMeta meta = new HtmlMeta();
meta.Name = "og:image";
meta.Content = "mydomain.com/testing.jpeg";
Page.Header.Controls.Add(meta);