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反序列化通常更简单。

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...