当我做这样的事情时,我才注意到:
@{
String var1 = "there's error to this string";
}
<script>
alert('@var1');
</script>
当我开始运行此操作并查看警告框时,单引号字符将转换为以#开头的奇怪显示。
但是当我直接将字符串值放到警告框时,它按预期工作:
<script>
alert("there's error to this string");
</script>
我希望有人能在这里解释为什么会这样。
答案 0 :(得分:1)
你需要对字符串进行Javascript编码,然后告诉Razor不要对其进行HTML编码:
@Html.Raw(HttpUtility.JavaScriptStringEncode(var1))