Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.12.2012, 20:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Кстати, ф-ции и переменные с символом @ у меня почему-то никогда не работают, может в этом проблема?
Ответить с цитированием
  #12 (permalink)  
Старый 10.12.2012, 20:35
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Jack Sparrow,

Нельзя смешать Javascript (отрабатывает на клиенте) и ASP.NET (отрабатывает на сервере). На момент исполнения Javascript вместо серверной переменной стоит значение, т.е. вместо
var listLength = "@(Model.orderList.Count)";
в html-странице будет так
var listLength = "5";
Если нужно получить доступ на клиенте к модели, то необходимо модель сериализовать и передать на клиентскую часть.
Что-то вроде этого:
var model = @(Json(Model)); // должно преобразовать в вид {orderList: [{AddressStreet: "streeet1"},{...},{...},...]}

И дальше можно работать как с обычным объектом:
for(var i=0; i<model.orderList.length; i++)
{
   var street = model.orderList[i].AddressStreet;
   // и т.д.
}

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

Спасибо за ответ, но не получается преобразовать Model в тип Json, вот такая ошибка в редакторе:


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

Странно, попробовал вот так
var model = "@Html.Raw(Json.Encode(Model))";

Но выдает ошибку
Экземпляр ObjectContext был удален и больше не может использоваться в операциях, требующих соединения.
именно на этой строке
Ответить с цитированием
  #15 (permalink)  
Старый 11.12.2012, 01:06
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Jack Sparrow,

1) кавычки не нужны, т.к. получится строка
2) попробуй преобразовать только orderList, остальные поля вроде тебе не нужны на клиенте

var orderList = @Html.Raw(Json.Encode(Model.orderList));

Последний раз редактировалось Hoshinokoe, 11.12.2012 в 01:08.
Ответить с цитированием
  #16 (permalink)  
Старый 12.12.2012, 00:16
Интересующийся
Отправить личное сообщение для Jack Sparrow Посмотреть профиль Найти все сообщения от Jack Sparrow
 
Регистрация: 24.11.2012
Сообщений: 11

Привет, я попробовал поставить без кавычек, но редактор подчеркивает вот так

А когда запускаю, вылетает ошибка:

Последний раз редактировалось Jack Sparrow, 12.12.2012 в 00:23.
Ответить с цитированием
  #17 (permalink)  
Старый 22.12.2012, 22:59
Интересующийся
Отправить личное сообщение для 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