ASP.NET MVC - 显示单引号时剃刀上的错误

时间:2018-02-04 23:08:47

标签: javascript c# asp.net-mvc razor

当我做这样的事情时,我才注意到:

@{
    String var1 = "there's error to this string";
}

<script>
    alert('@var1');
</script>

当我开始运行此操作并查看警告框时,单引号字符将转换为以#开头的奇怪显示。

但是当我直接将字符串值放到警告框时,它按预期工作:

<script>
    alert("there's error to this string");
</script>

我希望有人能在这里解释为什么会这样。

1 个答案:

答案 0 :(得分:1)

你需要对字符串进行Javascript编码,然后告诉Razor不要对其进行HTML编码:

@Html.Raw(HttpUtility.JavaScriptStringEncode(var1))