使用 razor 在 html 页眉中输出元标记

Output meta tag in html page header using razor

提问人:Bob the Builder 提问时间:3/26/2018 最后编辑:Bob the Builder 更新时间:3/26/2018 访问量:97

问:

我有一个剃须刀助手,旨在即时创建元标记,但是我在页面源代码中看到的只是 asci 字符。页面源应阅读 非常感谢所有回复和建议。谢谢!<meta name='robots' content='noindex' />

助手-

@helper WriteMetaRobots(DynamicNode siteRoot)
{
var robotValue = "noindex";
var robots = !string.IsNullOrEmpty(CurrentModel.GetPropertyValue("metaRobots")) ? "<meta name='robots' content='"+robotValue+"' />" : "";
    @robots
}

页面源 -

&lt;meta name=&#39;robots&#39; content=noindex /&gt;
C# Razor XHTML Umbraco

评论


答:

1赞 Mark 3/26/2018 #1

Razor 对 html 进行编码以防止 xss 攻击。因此,您必须明确告诉 razor 不要对 html 标签进行编码。而不是你想在这里使用@robots@Html.Raw(robots)

有关 xss 预防的更多信息,请参阅此处