我有一个带有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 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>
希望一切都清楚。
修复错误的一种可能性:在头中,将<%=
更改为<%#
,并在代码后面(Page_Load(的末尾添加
Page.Header.DataBind();
另一种可能性是将链路封装在Placeholder
控件中。