@Html.原始("<br />")与"<br />"



我在 MVC 中使用 Razor ASP.NET 并意识到@Html.Raw("<br />")"<br />"都在 html 中放置了分隔线,但想知道它们之间的实际区别是什么?

@Html.Raw帮助程序方法允许您将字符串插入到视图生成的呈现 HTML 中。 当您想要插入可能由 Razor 呈现器解释的文本时,它很有用:

<p>We can use <i>@Html.Raw("@Html.Raw(...)")</i> to force the Razor renderer to ignore things.</p>

另一方面,Razor 已经大部分会忽略有效的标签,例如 <br/> 无需您的干预。 您可以在 .cshtml 页面中内联放置一个 <br/> 标记,它将在 HTML 输出中正确呈现。

使用 @Html.Raw(...) 的主要副作用是它会在编译视图中生成其他代码。 原则上,可以优化Raw(...)以生成与标准HTML完全相同的代码,但更有可能的是,输出代码将产生3个字符串操作,而不是1个字符串操作来处理该部分的代码。

就我个人而言,我很少使用@Html.Raw(...)因为这样做通常没有意义。 当 Razor 对我的一个页面中的复杂条件生成部分感到困惑时,我使用了一次,我只是想让它对它认为的错误闭嘴,并且几次作为将 Razor 代码插入页面的简单方法。 仅此而已。

最新更新