Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从JS字符串中转义双引号和单引号_Javascript_C#_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 如何从JS字符串中转义双引号和单引号

Javascript 如何从JS字符串中转义双引号和单引号,javascript,c#,jquery,asp.net-mvc,Javascript,C#,Jquery,Asp.net Mvc,我正在从服务器端代码分配JSstring变量的值 像这样 var fbShareTitle = "@(ViewBag.LeadTitle as string)"; ViewBag返回字符串值为 A "Fantastic" Lead With 'Qoute' 现在它在控制台中给出错误 语法错误:缺少;声明前 我试过这个 var fbShareTitle = ("@(ViewBag.LeadTitle)").replace(/"/g, '\\"'); 但现在我得到了这个错误 语法错误:缺少;声

我正在从服务器端代码分配JS
string
变量的值

像这样

var fbShareTitle = "@(ViewBag.LeadTitle as string)";
ViewBag
返回字符串值为

A "Fantastic" Lead With 'Qoute'
现在它在控制台中给出错误

语法错误:缺少;声明前

我试过这个

var fbShareTitle = ("@(ViewBag.LeadTitle)").replace(/"/g, '\\"');
但现在我得到了这个错误

语法错误:缺少;声明前


由于此字符串将在fb上共享,因此我无法修改字符串,例如将所有
替换为
e.t.c.

代码不起作用的原因是Razor将生成以下内容:

var fbShareTitle = "A "Fantastic" Lead With 'Qoute'";
这是无效的JavaScript。您不能简单地通过
replace
来修复它,因为您的字符串不好不是问题,而是您的代码无法解析-
replace
永远无法执行。您需要在服务器端通过修改Razor代码来修复它,在服务器端生成有问题的JavaScript:

var fbShareTitle = @Html.Raw(Json.Encode(ViewBag.LeadTitle as string));

Json
将处理引号和正确转义;
Raw
将确保您的
不会被替换。Html.Raw(Json.Encode(…)的额外好处mantra:您可以使用它来注入任何类型的可以用JSON编码的数据,而不仅仅是字符串。

代码不起作用的原因是Razor将生成以下内容:

var fbShareTitle = "A "Fantastic" Lead With 'Qoute'";
这是无效的JavaScript。您不能简单地通过
replace
来修复它,因为您的字符串不好不是问题,而是您的代码无法解析-
replace
永远无法执行。您需要在服务器端通过修改Razor代码来修复它,在服务器端生成有问题的JavaScript:

var fbShareTitle = @Html.Raw(Json.Encode(ViewBag.LeadTitle as string));

Json
将处理引号和正确转义;
Raw
将确保您的
不会被替换。Html.Raw(Json.Encode(…)的额外好处mantra:您可以使用它来注入任何类型的可以用JSON编码的数据,而不仅仅是字符串。

请发布您的全部代码。@AMACB因为这个问题被问了很多次,所以真的没有必要发布实际的代码…一些基本的搜索,比如可能会显示答案…请发布您的全部代码。@AMACB因为这个问题我s被问了这么多次,真的没有必要发布实际的代码…一些基本的搜索,比如可能会发现答案…您好,
Json
的正确名称空间是什么?@Sasinosoft我相信是的,但我已经很久没有使用.NET了:)@Amadan非常感谢:)您好,
Json
的正确名称空间是什么?@Sasinosoft我相信是的,但我已经很久没有使用.NET了:)@Amadan非常感谢:)