从aspnet核心到javascript的特殊字符问题

时间:2019-04-24 09:19:45

标签: javascript asp.net-mvc asp.net-core alert

我正在尝试通过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>
        }

    }

enter image description here

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

您可以在消息变量中使用双引号而不是单引号

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