Переменные, описываемые с помощью @
Всем привет. Такой вопрос: обращаюсь к переменной модели ASP MVC в Javascript коде:
var listLength = "@(Model.orderList.Count)"; Длина списка считывается нормально в переменную listLength. Я хочу пройти по всему массиву с помощью цикла, поэтому пишу так: for (var i = 0; i < listLength; i++) { var myGeocoder = ymaps.geocode("Москва @(Model.orderList[i].AddressStreet) @(Model.orderList[i].AddressHome)"); myGeocoder.then(function (res) { myMap.geoObjects.add(res.geoObjects); }); } Но вот переменная i не доступна в строке var myGeocoder = ymaps.geocode("Москва @(Model.orderList[i].AddressStreet) @(Model.orderList[i].AddressHome)"); Не могу понять, почему так, как правильно обращаться к переменной в куске строки @()? |
Цитата:
var myGeocoder = ymaps.geocode("Москва @(Model.orderList["+i+"].AddressStreet) @(Model.orderList["+i+"].AddressHome)"); |
|
Jack Sparrow, попробуй заюзать круглые скобки
var myGeocoder = ymaps.geocode("Москва @(Model.orderList(i).AddressStreet) @(Model.orderList(i).AddressHome)"); |
var myGeocoder = ymaps.geocode("Москва "+@(Model.orderList[i].AddressStreet)+" "+@(Model.orderList[i].AddressHome)); Так что ли? |
Попробовал с кругдыми скобками, так к массиву обращаться нельзя :( А с вынесением слова "Москва " в отдельную строку тоже не проканало. Тут нужен какой-то способ вставить пользовательскую текущую переменную именно в блок @()
|
Jack Sparrow, а так все работает?
var myGeocoder = ymaps.geocode("Москва @(Model.orderList[0].AddressStreet) @(Model.orderList[0].AddressHome)"); |
Попробовал считать список orderList из модели в переменную javascript
var orderList = "@(Model.orderList)"; Но когда обращаюсь к ней, ничего не считывается. Короче она не считалась из модели наверно :( var myGeocoder = ymaps.geocode("Москва " + orderList[i].AddressStreet + " " + orderList[i].AddressHome); |
lord2kim, да, так как ты написал - все работает, считывается первый элемент и все нормально отображается
|
А как вообще по-русски называется блок @() ? Я бы загуглил по нему хотя бы)
|
Часовой пояс GMT +3, время: 08:59. |