Javascript ASP.NET MVC-显示单报价时razor上的错误
我只是注意到当我这样做的时候:Javascript ASP.NET MVC-显示单报价时razor上的错误,javascript,c#,asp.net-mvc,razor,Javascript,C#,Asp.net Mvc,Razor,我只是注意到当我这样做的时候: @{ String var1 = "there's error to this string"; } <script> alert('@var1'); </script> 当我开始运行这个程序并查看警报框时,单引号字符正在转换为奇怪的显示,从开始 但是,当我直接将字符串值放入alert box时,它会按预期工作: <script> alert("there's error to this string
@{
String var1 = "there's error to this string";
}
<script>
alert('@var1');
</script>
当我开始运行这个程序并查看警报框时,单引号字符正在转换为奇怪的显示,从开始
但是,当我直接将字符串值放入alert box时,它会按预期工作:
<script>
alert("there's error to this string");
</script>
我希望有人能在这里解释为什么会发生这种情况。您需要对字符串进行Javascript编码,然后告诉Razor不要对其进行HTML编码:
@Html.Raw(HttpUtility.JavaScriptStringEncode(var1))
看看你的报价。您需要转义字符串。您看到的是HTML实体编码。@Slaks-我已经这样做了,但它仍然显示奇怪的字符。这不是错误-它正在做它应该做的事情。除了SLaks的答案,你还可以使用alert@Html.RawJson.Encodevar1