0

我似乎遇到了一个逻辑矛盾。我有一个观点...

</br>在标记中,当我加载页面时,它会显示一个新行。检查源我可以看到一个</br>.

然后我把@Html.Raw("</br>")和在我得到的源代码中&lt;/br&gt;

然而,所有文档都说,默认情况下 razor 将对所有字符串进行 html 编码。那么为什么 Html.Raw 会显示一个编码字符串呢?

不应该反过来吗?

4

2 回答 2

0

</br>是不正确的,你可能是说<br/>.

话虽如此,它的工作原理如下:

<br/> generates <br/>
@("<br/>") generates &lt;br/&gt;
@Html.Raw("<br/>") generates <br/>

Html.Raw您不想在生成的 HTML 中获得 HTML 编码的输出时,将使用帮助程序。默认情况下,@Razor 函数 HTML 对其参数进行编码。

于 2013-06-03T09:00:14.517 回答
-1

来自 W3schools(我知道这不是 W3C 官方的)

HTML 和 XHTML 之间的区别

在 HTML 中,<br>标签没有结束标签。在 XHTML 中,<br>标签必须正确关闭,如下所示:<br />.

我不知道剃须刀它是@Html 函数,但你根本不需要'/'

于 2013-06-03T08:55:10.657 回答