C# @Html.Raw(";br/>;)vs"&书信电报;br/>&引用;
我在ASP.NET MVC中使用Razor,并意识到C# @Html.Raw(";br/>;)vs"&书信电报;br/>&引用;,c#,html,asp.net,asp.net-mvc,razor,C#,Html,Asp.net,Asp.net Mvc,Razor,我在ASP.NET MVC中使用Razor,并意识到@Html.Raw(“”)和“”都在Html中放了一条换行符,但我想知道它们之间的实际区别是什么?使用@Html.Raw辅助方法可以将字符串插入视图生成的呈现Html中。当您希望插入可能由Razor渲染器解释的文本时,此选项非常有用: <p>We can use <i>@Html.Raw("@Html.Raw(...)")</i> to force the Razor renderer to ignore t
@Html.Raw(“
”)和“
”
都在Html中放了一条换行符,但我想知道它们之间的实际区别是什么?使用@Html.Raw
辅助方法可以将字符串插入视图生成的呈现Html中。当您希望插入可能由Razor渲染器解释的文本时,此选项非常有用:
<p>We can use <i>@Html.Raw("@Html.Raw(...)")</i> to force the Razor renderer to ignore things.</p>
我们可以使用@Html.Raw(“@Html.Raw(…)”)强制Razor渲染器忽略某些内容
另一方面,Razor在没有您干预的情况下已经基本上忽略了有效的标记,如
。您可以在.cshtml页面内联放置
标记,它将在HTML输出中正确呈现
使用@Html.Raw(…)
的主要副作用是在编译视图中生成额外的代码。原则上,Raw(…)
可以进行优化,以生成与标准HTML完全相同的代码,但更可能的是,输出代码将生成3个字符串操作,而不是1个来处理该部分代码
就我个人而言,我很少使用@Html.Raw(…)
,因为这样做通常没有意义。有一次,Razor对我的一个页面中的一个复杂的条件生成部分感到困惑时,我使用了它,我只想让它闭嘴,不说它认为是一个错误,还有几次,它是一种将Razor代码插入页面的简单方法。就这样