在我的网站上,每个文本都以 UTF-8 格式提供。
由于现在每个浏览器都支持 unicode 字符,我想按原样使用它们。
asp.net 框架通过将任何 unicode 替换为数字字符引用(如á
. 参考检查:http ://en.wikipedia.org/wiki/Unicode_and_HTML#HTML_document_characters
当然,这样网页可以在最古老的网景中正确呈现,但例如谷歌分析电子商务模块在理解这些特殊编码的字符时遇到了一些麻烦。
有没有办法全局禁用数字字符引用编码?
例如我想用剃刀写:
<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 字符的自动编码很满意。这不是我想要禁用的。
我不想重构所有代码,我认为应该有一个“全局开关”来禁用这种在剃刀中使用字符串参数的行为。有没有办法做到这一点?
我也可以明确禁止数字字符引用,例如使用类似的东西new MvcHtmlString(myString, some parameters)
吗?