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

从aspnet核心到javascript的特殊字符存在问题,javascript,asp.net-mvc,asp.net-core,alert,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/ja

我试图通过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>
        }

    }

@如果(!ViewData.ModelState.IsValid&&ViewData.ModelState.ContainsKey(“Utene”))
{
@如果(ViewData.ModelState[“Utene”].Errors.Count>0)
{
$(文档).ready(函数(){
警报('@ViewData.ModelState[“utete”].Errors.First().ErrorMessage');
});
}
}


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

$(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)");

无事可做:(未查到的SyntaxError:missing)争论过后,我看到你改变了答案,但我没有注意到。现在开始工作了!谢谢大家!@Elmoro:很高兴它能帮上忙:)这对我来说很有用:警报(@Html.Raw(ViewData.ModelState[“utene”].Errors.First().ErrorMessage)”;