Проблема со спецсимволами из ядра aspnet в javascript - PullRequest
1 голос
/ 24 апреля 2019

Я пытаюсь передать сообщение об ошибке через словарь ModelState для передачи в код JavaScript, который генерирует предупреждение с этой ошибкой. Все работает, но я не могу заставить специальные символы правильно отображаться как "'" и "è". Решения?

Код AspNet Core:

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 ]

2 голосов
/ 24 апреля 2019

Вы можете использовать @Html.Raw() для предотвращения кодирования:

alert("@Html.Raw(ViewData.ModelState["Utente"].Errors.First().ErrorMessage)");
0 голосов
/ 24 апреля 2019

Вы можете использовать двойную кавычку вместо одинарной кавычки в переменной сообщения

$(document).ready(function() {
   var message = "@Html.Raw(ViewData.ModelState["Utente"].Errors.First().ErrorMessage)";
   alert(message);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...