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

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

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

您需要JavaScript在编写之前对字符串进行编码,否则您的字符串可能包含导致JavaScript字符串常量过早终止的字符。 您可以使用System.Web命名空间中的HttpUtility.JavaScriptStringEncode执行此操作 。 一旦你完成了这个,你需要从HTML中停止剃刀编码可以用HtmlHelper.Raw完成的结果,如下所示:

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

请尝试以下方法:

 var thing = "@(thing)"; 

有几种很好的方法可以做到这一点。 但一个非常干净的方法是使用cookie。 这很干净,因为您没有将javascript代码从服务器注入到静态客户端代码中。 编写C#以创建JavaScript然后将其插入变量可能会出现计时问题,具体取决于代码运行的时间和.Net正在执行的操作。 出于安全考虑,请仔细阅读字符串。