|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
||||||||||||||||
Как передать параметр javascript контроллеру и обратно09.01.2015, 17:07. Показов 10716. Ответов 21
Метки нет (Все метки)
Только начал изучать asp.net. Пытаюсь сделать простейшую вещь:
Хочу определить объект javascript:
P.S.: Интересует непосредственно работа с объектами javascript. То есть не добавлять значения value в скрытые input (ведь если наш объект куда сложнее будет, это уже не вариант)
0
|
||||||||||||||||
| 09.01.2015, 17:07 | |
|
Ответы с готовыми решениями:
21
Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
Передать результат работы JavaScript в Java и обратно |
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
||
| 09.01.2015, 17:30 | ||
|
Создаётся скрытое поле, с которым вы работаете на js, оно же потом передаётся при постбеке
0
|
||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|
| 09.01.2015, 17:34 [ТС] | |
|
То есть по сути придется парсить объект?
0
|
|
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
|||||||
| 09.01.2015, 17:37 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|
| 09.01.2015, 17:39 [ТС] | |
|
ну это если передается одно значение, а если там целый объект? Например массив? Или я чего-то не до понимаю? И это в одну сторону, а в другую как прочитать из этого объекта, не подскажите?)
0
|
|
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
|||||||
| 09.01.2015, 17:47 | |||||||
Сообщение было отмечено Siend Ilu как решение
РешениеЛюбой сложный объект, который вы передадите в hidden input будет сериализован в json-строку. Чтобы на js получить этот объект вызывается parse() Чтобы обратно сериализовать объект на js вызывается
1
|
|||||||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|||||||||||
| 09.01.2015, 18:40 [ТС] | |||||||||||
|
Спасибо, стало понятнее, буду пробовать)
Добавлено через 34 минуты Попытался, но что-то у меня с парсингом не то( Вот мой контроллер:
0
|
|||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
|
| 09.01.2015, 18:58 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|||||||||||||||||||||
| 09.01.2015, 19:14 [ТС] | |||||||||||||||||||||
|
если выводить document.getElementById("test"),то выводит System.Int32[]
А в самом test походу ничего, так как скрипт прерывается ошибкой SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data Добавлено через 4 минуты Судя по всему я что-то не так делаю <input id="test" type="hidden" value="System.Int32[]" /> Так в браузере выглядит мой инпут. Во вью я его задавал след образом: <input id="test" type="hidden" value="@ViewBag.Result" /> Судя по всему я просто преобразовал ViewBag.Result к строковому значению, потому и получаю в итоге тип. А как передать все же массив? Добавлено через 8 минут Так, я попробовал сделать так:
0
|
|||||||||||||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
||||||
| 09.01.2015, 19:19 | ||||||
|
Siend Ilu,
вот так попробуйте:
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|
| 09.01.2015, 19:22 [ТС] | |
|
Тоже не помогает. Говорит что JSON не существует в данном контексте, ну как если бы не было директивы на сборку. А его вообще можно использовать то в c#? или только в коде javascript?
0
|
|
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
|
| 09.01.2015, 19:30 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
||||||||||||||||||||||||||||||||||||
| 09.01.2015, 19:42 [ТС] | ||||||||||||||||||||||||||||||||||||
|
В контролере:
Подключил:
Во view:
Соответственно дальше скрипт снова падает на
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data Если изменит на
ReferenceError: Json is not defined Я так понимаю что все же вот тут:
0
|
||||||||||||||||||||||||||||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
||||||
| 09.01.2015, 20:56 | ||||||
|
Siend Ilu, в общем, так сделайте в контроллере:
1
|
||||||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|||||||||||
| 09.01.2015, 21:10 [ТС] | |||||||||||
|
YES!!! Это сработало, смог в javascript'e получить свою переменную. А как теперь в обратную сторону отправить?
Вот что я делаю:
Контроллер на пост запрос пока выглядет так:
0
|
|||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
||
| 09.01.2015, 21:32 | ||
|
Вам нужно в пост методе добавить входной строковый параметр такого же имени как и name (не id, а name) у input'a. После чего эту строку вы сможете десериализовать в объект JavaScriptSerializer'ом
0
|
||
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
|||||||||||
| 09.01.2015, 21:57 [ТС] | |||||||||||
|
А какого он будет типа?
Во view добавил имя для инпута:
0
|
|||||||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
|
| 09.01.2015, 22:43 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 80
|
||||||
| 09.01.2015, 23:38 [ТС] | ||||||
|
Точно, сори за невнимательность. Исправил вот так:
Аргументы-типы для метода "System.Web.Script.Serialization.JavaScr iptSerializer.Deserialize<T>(string)" не должны определяться по использованию. Попытайтесь явно определить аргументы-типы.
0
|
||||||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
|
||
| 10.01.2015, 09:39 | ||
|
0
|
||
| 10.01.2015, 09:39 | |
|
Помогаю со студенческими работами здесь
20
Передать параметр функции javascript в формате Json Передать параметр с html формы другой странице по id , javascript Передать инфу контроллеру
Как передать функцию в массив и обратно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|