Я пытаюсь передать сообщение об ошибке через словарь 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>
}
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать двойную кавычку вместо одинарной в переменной сообщения
$(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)");
Uncaught SyntaxError: отсутствует ) после списка аргументов
Я видел, что вы изменили свой ответ, и я не заметил. В настоящее время работает! Спасибо!
@Elmoro: рад, что это помогает :)
У меня это работает: alert("@Html.Raw(ViewData.ModelState["Utente"].Errors.First().ErrorMessage)");
Нечего делать :(