Как передать "переменную i" в качестве индекса для Model.ServiceList [...]
function alertAll()
{
for (var i = 0; i < @Model.ServicesList.Count; i++) {
alert(i.toString() + ' => ' + @Html.Raw(JsonConvert.SerializeObject(Model.ServicesList[i].ServiceName)));
}
};
Вышеупомянутый скрипт при компиляции с vs2017 выдает следующее сообщение об ошибке:
CS0103: Имя 'i' не существует в текущем контексте



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


Я поставил сериализация и преобразование model_array вне цикла, и он работает.
function addServices() {
var servicesList = @Html.Raw(JsonConvert.SerializeObject(Model.ServicesList));
for (var i = 0; i < servicesList.length; i++)
{
alert(i.toString() + ' => ' + servicesList[i].ServiceName);
}
}
Причина в том, что внутри части
@(...)у вас есть код MVC, который запускает серверную часть, и в этой области не существует переменнойi.iсуществует только в браузере, в котором запущен javascript.