加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:47:48 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET MVC视图中是否有用于转义JavaScript的实用功能?我经常需要从视图中使用一些值来初始化一小段JavaScript代码;例如我可能会有这样的东西: script type="text/javascript"var page = new Page({ currentUser: "%= Model.UserName %" });page.init()
在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反序列化通常更简单。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读