Подтвердить что ты не робот

Передача строк с помощью Single Qoute из MVC Razor в JavaScript

Это кажется таким простым, что это неловко. Однако первый вопрос заключается в передаче значения из нового ViewBag в MVC 3.0 (Razor) в блок JavaScript, правильно ли это делается? И что еще более важно, где и как вы применяете правильный код замены строк, чтобы не допустить, чтобы одна цитата становилась & # 39, как в приведенном ниже предупреждении?

Добавление этого в один блок script:

alert('@ViewBag.str')   // "Hi, how it going?"

Результаты в следующем предупреждении:

enter image description here

4b9b3361

Ответ 1

Razor будет кодировать HTML все, поэтому для предотвращения "от кодирования до ' вы можете использовать

alert('@Html.Raw(ViewBag.str)');

Однако теперь у вас есть фактический "в середине вашей строки, который вызывает ошибку javascript. Чтобы обойти это, вы можете либо обернуть строку предупреждения в двойные кавычки (вместо одиночных кавычек), либо избежать символа". Итак, в вашем контроллере у вас будет

ViewBag.str = "Hi, how\\ it going?";