我在_Layout的head部分遇到了@RenderSection的奇怪行为。
@section AddToHead{
<meta name="test" />
<open-graph og-title="@Model.Test.OG.Title" og-image="@Model.Test.OG.Image" og-url="@Model.Test.OG.Url" og-type="@Model.Test.OG.Type"></open-graph>
}
并添加到_Layout
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@await RenderSectionAsync("AddToHead", required: false)
</head>
我已经尝试使用RenderSectionAsync和RenderSection。没有区别。
当我在页面上检查结果时,它如下(总结果不同)
查看源代码
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="test" />
<div><meta property='og:title' content='TestTitle' /><meta property='og:type' content='Article' /><meta property='og:url' content='TestURL' /><meta property='og:image' content='TestBild' /></div>
</head>
开发人员工具
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="test" />
</head>
<body>
<div><meta property='og:title' content='TestTitle' /><meta property='og:type' content='Article' /><meta property='og:url' content='TestURL' /><meta property='og:image' content='TestBild' /></div>
</body>
Facebook看到我的网站就像开发者工具那样。
我做错了什么?这甚至可能吗?
答案 0 :(得分:1)
开发者工具显示了浏览器如何解释您的HTML,这就是您在查看源代码和开发人员工具之间看到差异的原因。
至于为什么会发生这种情况,<div>
中的<head>
代码会出现问题。如今,大多数浏览器会将这些<div>
标记解释为正文中的标记。如果您要渲染<meta />
标签而没有周围的div,那么一切都应该没问题。