Передача строк с помощью Single Qoute из MVC Razor в JavaScript
Это кажется таким простым, что это неловко. Однако первый вопрос заключается в передаче значения из нового ViewBag в MVC 3.0 (Razor) в блок JavaScript, правильно ли это делается? И что еще более важно, где и как вы применяете правильный код замены строк, чтобы не допустить, чтобы одна цитата становилась & # 39, как в приведенном ниже предупреждении?
Добавление этого в один блок script:
alert('@ViewBag.str') // "Hi, how it going?"
Результаты в следующем предупреждении:
![enter image description here]()
Ответы
Ответ 1
Razor будет кодировать HTML все, поэтому для предотвращения "от кодирования до '
вы можете использовать
alert('@Html.Raw(ViewBag.str)');
Однако теперь у вас есть фактический "в середине вашей строки, который вызывает ошибку javascript. Чтобы обойти это, вы можете либо обернуть строку предупреждения в двойные кавычки (вместо одиночных кавычек), либо избежать символа". Итак, в вашем контроллере у вас будет
ViewBag.str = "Hi, how\\ it going?";