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

Output meta tag in html page header using razor

我有一个 razor 助手,它可以即时创建元标记,但是我在页面源代码中看到的都是 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;

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

可以找到更多关于 xss 预防的信息here