Razor视图中的Html编码文本

时间:2015-07-03 15:13:37

标签: html asp.net-mvc razor

文本和/或标记被渲染为按原样输出,没有任何html编码,正如我们所期望的那样。

对于以下内容,带有标记的纯文本必须是html编码的。(我们不关心这里的代码输出。)

@{ var theVar = "xyz"; }
some text & other text >>@theVar

所以,输出中的html;

  

some text & other text >>xx

因此,当我们想要编写一些需要进行html编码的静态文本时,我们必须使用类似的结构;

@{ var theVar = "xyz"; }
@("some text & other text >>")@theVar

在输出中获取以下html;

  

some text & other text >>xyz

在浏览器中查看时的清晰度;

  

一些文字&其他文字>> xyz

那么,有一种简单的方法吗? html编码文本的一些快捷方式,而不是对每个文本使用@(" ..."),当它们有多个时会开始变得讨厌。 什么是最佳做法?你是怎么做到的?

1 个答案:

答案 0 :(得分:0)

因此,当我们为文档指定utf-8编码时,这不是一个大问题。当用于文档的utf-8编码时,除了特殊(<,>,&,",')字符外,不需要将字符html编码为实体引用。 即使使用&对于宽松的浏览器来说,它本身并没有错,但是像伏特和放大器一样会考虑一些不明智的情况。因此,对所有这些特殊字符进行html编码会更好。

检查W3联盟的文章"何时使用转义"部分; http://www.w3.org/International/questions/qa-escapes#use