asp.net-mvc – 在视图中转义JavaScript字符串文字

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在视图中转义JavaScript字符串文字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在ASP.NET MVC视图中是否有用于转义JavaScript的实用功能?我经常需要从视图中使用一些值来初始化一小段JavaScript代码;例如我可能会有这样的东西:
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Model.UserName %>" });
page.init();
</script>

我会期待像:

<script type="text/javascript">
var page = new Page({ currentUser: "<%= Html.JavaScriptEscape(Model.UserName) %>" });
page.init();
</script>

当然,我可以自己写这个功能。但是由于已经有HTML编码的内置实用程序,因为ASP.NET MVC的一个卖点是<%%>是默认渲染模式,因为我想要实现的是很常见的,它让我想知道为什么我找不到已经内置的东西。例如,在视图中是否有一种简单而优雅的方式将对象序列化为JSON?

还是在做ASP.NET MVC原理的事情?当我遇到这样的问题时,通常会认为我做错了,因为我假设框架设计师花了一些时间思考现实世界的场景。

解决方法

在.NET 4中,HttpUtility类对于各种上下文有各种静态编码方法包括用于此特定目的的 JavaScriptStringEncode方法

不过,使用JSON反序列化通常更简单。

猜你在找的asp.Net相关文章