Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.12.2012, 13:46
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

Переменные, описываемые с помощью @
Всем привет. Такой вопрос: обращаюсь к переменной модели 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)");

Не могу понять, почему так, как правильно обращаться к переменной в куске строки @()?
Ответить с цитированием
  #2 (permalink)  
Старый 10.12.2012, 14:06
Аспирант
Отправить личное сообщение для schmetterling Посмотреть профиль Найти все сообщения от schmetterling
 
Регистрация: 02.12.2012
Сообщений: 30

Сообщение от 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)");
Ответить с цитированием
  #3 (permalink)  
Старый 10.12.2012, 14:10
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

Я так уже пробовал, но получается, что слово Москва - это строка, и совокупность +i+ это тоже строка, а вот все, что заключено в @() - это не строка. Вот скриншот:

Ответить с цитированием
  #4 (permalink)  
Старый 10.12.2012, 14:51
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Jack Sparrow, попробуй заюзать круглые скобки
var myGeocoder = ymaps.geocode("Москва @(Model.orderList(i).AddressStreet) @(Model.orderList(i).AddressHome)");
Ответить с цитированием
  #5 (permalink)  
Старый 10.12.2012, 14:51
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var myGeocoder = ymaps.geocode("Москва "+@(Model.orderList[i].AddressStreet)+" "+@(Model.orderList[i].AddressHome));

Так что ли?
Ответить с цитированием
  #6 (permalink)  
Старый 10.12.2012, 15:10
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

Попробовал с кругдыми скобками, так к массиву обращаться нельзя А с вынесением слова "Москва " в отдельную строку тоже не проканало. Тут нужен какой-то способ вставить пользовательскую текущую переменную именно в блок @()
Ответить с цитированием
  #7 (permalink)  
Старый 10.12.2012, 15:11
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Jack Sparrow, а так все работает?
var myGeocoder = ymaps.geocode("Москва @(Model.orderList[0].AddressStreet) @(Model.orderList[0].AddressHome)");
Ответить с цитированием
  #8 (permalink)  
Старый 10.12.2012, 15:14
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

Попробовал считать список orderList из модели в переменную javascript
var orderList = "@(Model.orderList)";

Но когда обращаюсь к ней, ничего не считывается. Короче она не считалась из модели наверно
var myGeocoder = ymaps.geocode("Москва " + orderList[i].AddressStreet + " " + orderList[i].AddressHome);
Ответить с цитированием
  #9 (permalink)  
Старый 10.12.2012, 15:14
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

lord2kim, да, так как ты написал - все работает, считывается первый элемент и все нормально отображается
Ответить с цитированием
  #10 (permalink)  
Старый 10.12.2012, 20:22
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

А как вообще по-русски называется блок @() ? Я бы загуглил по нему хотя бы)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индивидуальные переменные в each Spamol jQuery 6 08.12.2012 14:34
Получить значение ячейки с помощью onclik Space-06 Events/DOM/Window 4 10.01.2012 09:39
Как с помощью PHP сохранить какие-либо изменения в HTML документе? FirstFrost Работа 6 06.09.2010 16:16
Как с помощью PHP сохранить какие-либо изменения в HTML документе? FirstFrost Общие вопросы Javascript 1 15.07.2010 17:12
Прокрутка страницы с помощью клавиш Mirgorod Events/DOM/Window 0 17.06.2010 22:39