Razor будет HTML кодировать все, поэтому, чтобы предотвратить кодирование 'в '
, вы можете использовать
alert('@Html.Raw(ViewBag.str)');
Однако, теперь у вас есть фактический 'в середине вашей строки, который вызывает ошибку javascript. Чтобы обойти это, вы можете заключить строку предупреждения в двойные кавычки (вместо одинарных кавычек) или экранировать символ '. Итак, в вашем контроллере у вас будет
ViewBag.str = "Hi, how\\'s it going?";