在我的网站上,每个文本都以 UTF-8 格式提供。
由于现在每个浏览器都支持 unicode 字符,因此我想按原样使用它们。
asp.net 框架非常有用,它可以用数字字符引用替换任何 unicode,例如á
。供参考检查:http://en.wikipedia.org/wiki/Unicode_and_HTML#HTML_document_characters
当然,通过这种方式,网页可以在最古老的 Netscape 中正确呈现,但例如谷歌分析电子商务模块在理解这些特殊编码的字符时遇到一些困难。
有没有办法全局禁用数字字符参考编码?
例如我想用剃刀写:
<span class="title">@ViewBag.Title</span>
我希望这个显示在输出上:
<span class="title">Számítástechnika</span>
不是这个:
<span class="title">Számítástechnika</span>
我不想禁用 html 编码,因此 Html.Raw 不是一个解决方案,例如我无法确保 @ViewBag.Title 不会包含如下内容:
<span class="title"><script>alert('injected hahahah');</script></span>
所以我对特殊 html 字符的自动编码感到满意。这不是我想要禁用的。
我不想重构所有代码,并且我认为应该有一个“全局开关”来禁用在 razor 中使用字符串参数时的这种行为。有没有办法做到这一点?
我还可以明确禁止数字字符引用,例如类似的内容new MvcHtmlString(myString, some parameters)
?