【问题标题】:Dynamic og meta content asp.net webforms master and content page动态 og 元内容 asp.net webforms 母版和内容页
【发布时间】:2026-01-25 08:00:01
【问题描述】:

我有一个带有 head 标签的母版页,它使用一些 标签来加载一些内容,如 css、js 和 favicons。 我希望动态构建 og 元内容,如

<meta property="og:title" .../>, 
<meta property="og:description" .../> 
<meta property="og:image" .../> etc

这些数据内容将从每个内容页面生成,并希望将其放在页面头部元素上

到目前为止我尝试过的是 - 在母版页加载事件中

System.Web.UI.HtmlControls.HtmlMeta tag = new System.Web.UI.HtmlControls.HtmlMeta();
tag.Name = "og:title";
tag.Content = "blah";
Page.Header.Controls.Add(tag);

但它显示错误,我已经在我的 head 标签中使用了 块。

头部元素示例

<head runat="server">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="author" content="">
<link rel="stylesheet" href="<%= Page.ResolveClientUrl("~/plugins/font-awesome/css/font-awesome.min.css?v=534521") %>">
</head>

希望它清楚。

【问题讨论】:

    标签: asp.net webforms master-pages meta


    【解决方案1】:

    修复错误的一种可能性:在头部,将&lt;%= 更改为&lt;%#,并在后面的代码末尾添加(Page_Load)

    Page.Header.DataBind();
    

    另一种可能性是将链接包装在Placeholder 控件中。

    【讨论】: