从 aspnet core 到 javascript 的特殊字符问题

Problem with special characters from aspnet core to javascript

我正在尝试通过 ModelState 字典传递一条错误消息,以将其馈送到 javascript 代码,该代码会生成带有该错误的警报。一切正常,但我无法让特殊字符正确显示,如“'”和“è”。解决方案?

AspNet 核心代码:

ModelState.AddModelError("Utente", "L'utente per cui si tenta di reimpostare la password non è ancora registrato");

代码JS:

<script type="text/javascript">
    @if (!ViewData.ModelState.IsValid && ViewData.ModelState.ContainsKey("Utente"))
    {
        @if( ViewData.ModelState["Utente"].Errors.Count > 0)
        {
          <text>
                $(document).ready(function() {
                    alert('@ViewData.ModelState["Utente"].Errors.First().ErrorMessage');
                });
                </text>
        }

    }

您可以在消息变量中使用双引号代替单引号

$(document).ready(function() {
   var message = "@Html.Raw(ViewData.ModelState["Utente"].Errors.First().ErrorMessage)";
   alert(message);
});

您可以使用@Html.Raw()来防止编码:

alert("@Html.Raw(ViewData.ModelState["Utente"].Errors.First().ErrorMessage)");