javascript - 将 C# 字符串转换为 JavaScript 字符串

标签 javascript c# asp.net razor

有人知道在 Asp.net 中将 C# 字符串转换为 JavaScript 字符串的方法吗?我的代码如下所示:

<script>
  @{string thing = "Cats";}
  var thing = String(@thing);


  </script> 



</div>
<body onload="eventAlert(thing)"></body>

最佳答案

您需要在写出之前对您的字符串进行 JavaScript 编码,否则您的字符串可能包含导致 JavaScript 字符串常量过早终止的字符。你可以用 HttpUtility.JavaScriptStringEncode 来做到这一点在 System.Web 命名空间中。完成后,您需要停止 razor 对结果进行 HTML 编码,这可以通过 HtmlHelper.Raw 完成。像这样:

@{string thing = "Cats Special Chars \"!'£$%^&*()@;:";}
var thing = "@Html.Raw(HttpUtility.JavaScriptStringEncode(thing))";

关于javascript - 将 C# 字符串转换为 JavaScript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574853/

相关文章:

javascript - Highcharts:添加点而不连接系列

javascript - Angular : Keep view state between differents views with differents controllers

c# - 将 Model3DGroup 的多个实例添加到 ModelVisual3D

asp.net - 为什么我的 ASP.NET MVC 持久身份验证 cookie 不起作用?

javascript - 带有 Spring Boot 的 Thymeleaf 或 Angular 4

javascript - SAP UI 5 中的 messagebundle.properties 问题

c# - ASP.NET WebAPI 2 异步过滤器

c# - 如何在 C# Zip 中组合三个数组?

asp.net - 连接池的误解?

c# - 如何转换大约 300 个字符的字符串,然后在断字后显示 [...] 的延续。?