当前位置:  开发笔记 > 后端 > 正文

我应该总是使用<%:而不是<%=

如何解决《我应该总是使用<%:而不是<%=》经验,为你挑选了1个好方法。

我知道<%:是html.encode的事情,但是当我确定我不需要编码时会有很多情况,所以我为什么要浪费时间编码我100%肯定它的东西不需要像例如<%:Url.Action("Index") %><%: Model.Id %>(int类型)编码?



1> David Neale..:

:代码块是ASP.NET 4.0的Web编译器的一部分,不只是打电话Html.Encode().它确定字符串是否已经先编码(如果表达式返回一个IHtmlString那么它可能不会被编码).

这意味着在插入实际数据或从某种类型的辅助方法插入HTML时使用它是安全的(如果您编写自己的辅助方法,它们应始终IHtmlString从MVC 2 返回).

关于你是否总是使用它,你当然不会.但是我宁愿不去想太多,并且会更加高兴知道我已经走了一些路,以轻而易举的方式抵御XSS攻击; 因此,我几乎总是使用它.

它还鼓励您确保MvcHtmlString从HTML帮助程序方法返回a 而不是string.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有