动态 og 元内容 asp.net webforms 母版和内容页

Posted

技术标签:

【中文标题】动态 og 元内容 asp.net webforms 母版和内容页【英文标题】:Dynamic og meta content asp.net webforms master and content page 【发布时间】:2021-08-07 15:05:34 【问题描述】:

我有一个带有 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>

希望它清楚。

【问题讨论】:

【参考方案1】:

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

Page.Header.DataBind();

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

【讨论】:

以上是关于动态 og 元内容 asp.net webforms 母版和内容页的主要内容,如果未能解决你的问题,请参考以下文章

求asp.net webform 工作的流程

jQuery hide 不隐藏 vb.net/asp.net webform 中的任何内容

WebForm页面生命周期及asp.net运行机制

asp.net webforms ajax 更新gridview

ASP.Net WebForm的发布(图解)

用vs2010平台,c#写的asp.net网站,动态增加和减少Textbox