在javascript中转换内联c#脚本中的双引号

ajb*_*ven 5 javascript c# asp.net-mvc escaping

我需要在javascript中转换内联c#中的双引号.代码如下:

if ("<%= TempData["Message"]%>" == "") {
    // code
};
Run Code Online (Sandbox Code Playgroud)

通常,我会像这样使用单引号:

if ('<%= TempData["Message"]%>' == "") {
    // code
};
Run Code Online (Sandbox Code Playgroud)

但是,TempData["Message"]它内部有单引号(当它包含由ASP.NET MVC中的Html.ActionLink()帮助程序生成的链接时).因此,虽然我可以将所有ActionLink助手内部更改TempData["Message"]为标签,但这是一个有趣的问题,并且很想知道是否有人有答案.

SLa*_*aks 8

打电话HttpUtility.JavaScriptStringEncode.
这种方法是ASP.Net 4.0的新方法; 对于早期版本,请使用WPL.