|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
||||||||||||||||
Ввод данных в Input и их последующий вывод на странице27.06.2019, 21:33. Показов 7087. Ответов 7
Метки нет (Все метки)
Добрый день.
Только начал осваивать MVC. Осваиваю по оф документам и сайту metanit.com Под спойлером лирика о сложностях, можно пропустить. Кликните здесь для просмотра всего текста
Простые вещи там описаны как то слишком сложно и запутано. К примеру, целая страница написана о разных методах как взять значение из Input, но не описано как это значение сохранить при перезагрузке страницы и вывести её в коде HTML. Где то советуют использовать методы, где то только контролеры. Использовать хелперы, не использовать. Пока непонятно в общем.
Есть код. HTML
Здесь хочу вывести текст
0
|
||||||||||||||||
| 27.06.2019, 21:33 | |
|
Ответы с готовыми решениями:
7
Ввод данных в input и вывод соответствий ниже (как поисковик) Ввод с клавиатуры бинарного дерева и последующий вывод
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|||||||||||
| 27.06.2019, 22:10 | |||||||||||
|
Вывод нескольких DataTable
(читайте о переходе на MVC) Добавлено через 6 минут Возможно, вот этот фрагмент из работающего проекта поможет Вам понять "движок" MVC
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
||
| 27.06.2019, 23:18 [ТС] | ||
|
П.С.: Выше Ваша же цитата на пост из ссылки. ) Ваш пример с таблицей очень интересный и я уже отложил его к себе в закладки, т.к. пригодиться. Но пока с пониманием у меня туго. Даже просто понять, если я всю работу всё равно буде делать в контроллере, то зачем мне нужен метод? И если контролер всё забывает, как же мне блин сохранить то значение, которое он получил из Input? П.П.С: Да, я два дня штудировал и пробовал примеры из МС-доков и Metanit )) прежде чем здесь задать "глупый" вопрос. Так же как и Вы в свое время. Только Вы уже поняли, а я еще нет.
0
|
||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||
| 28.06.2019, 01:43 | ||
|
В приведенном выше примере был создан специальный класс - контейнер, в который можно "складывать" разные данные, как скалярные, та и сложные объекты и даже коллекции (наборы данных, считанные с SQL-сервера). Конструктор этого класса просто заполняет скалярные поля класса, которые в дальнейшем используются в логике приложения (в данном случае для выборки нужного списка абонентов с SQL-сервера, сортировки по нужной колонке и вырезания из полученного НД указанного номера листа). В этот класс был добавлен метод, который собственно делает выборку с SQL-сервера. Код метода был умышленно вынесен из конструктора чтобы не "дергать сервер" каждый раз, когда нужен контейнер без "таблицы", а только с информацией о юзере и скалярами. Вот этот контейнер и используется как "грузовик" для перемещения данных от контроллера к представлению, от представления - браузеру и от браузера - контроллеру. Способы передачи разные - от прямой передачи контейнера в <form> (привязка к модели), до передачи отдельными скалярными переменными @Html.ActionLink..{ new ..}
0
|
||
|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
|||||||||||||||||
| 28.06.2019, 13:30 [ТС] | |||||||||||||||||
И всё равно непонятно, как и что делать. Всё в точности как с https://metanit.com/sharp/mvc5/2.2.php взял код примера, скопировал к себе, изменил Book на User - получил ошибку
----- За Вашу попытку помочь на самом деле большое спасибо, но разбирать чужой код в обрезанном виде и пытаться на его основе понять что и как работает, ну это так себе удовольствие. Вопросов больше, чем ответов. Самый главный вопрос - где взять недостающий код. А самое главное - я хочу взять любой текст из Input и после перезагрузки вывести его в любом месте страницы. Даже разметку написал в первом посте - как это можно сделать по коду, который работает с БД, да еще и не рабочий, если его тупо скопировать - ну я ХЗ. Я убил время с 10:30 до 13:10, сравнивал Ваш код с доками и https://metanit.com/ везде одно и тоже реализовано разным кодом, и теперь я вообще не понимаю, что и как работает. Добавлено через 3 минуты У меня огромная просьба - в первом комменте темы я написал простой пример HTML разметки. Хочу взять данные из Input и по нажатию кнопки вывести на той же самой странице данные из Input с небольшими изменениями. Может кто-нибудь написать рабочий код? Хочу его сравнить с тем что пишут в оф доках и https://metanit.com/, чтобы понять, что именно я не понимаю в описании.
0
|
|||||||||||||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||||||||||||||||||||||||
| 28.06.2019, 15:28 | ||||||||||||||||||||||||||
Сообщение было отмечено defond57 как решение
Решение
Примитивный пример обмена данными между клиентом и сервером:
Модель:
В класс-контейнер можно совать все, что угодно, вплоть до любых классов модели, включая данные, извлеченные с SQL-сервера. Главное - это заполнить в контроллере все, что нужно прежде, чем "вызвать" соотв. представление, типизированное по этому контейнеру. Добавлено через 12 минут А вот то же пример, но с обратной привязкой: Модель:
то же самое Добавлено через 7 минут В общем случае контейнер не обязателен. Он просто незаменим, если нужно передавать много данных разного типа. Для Вашего случая вполне можно обойтись без него. Для этого: 1) Вставить в представлении элемент, заполняемый например из "сумки" (ViewBag), 2) Перед вызовом представления в контроллере заполнить "сумку" нужным значением, взятым из параметра в методе контроллера (имя параметра контроллера и имя name в разметке элемента должны совпадать) 3) Не забыть поставить [Http Post] перед "принимающим" методом Все
1
|
||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
||
| 28.06.2019, 16:28 [ТС] | ||
|
Есть пара вопросов: 1. Зачем в контроллере производится обработка GET? Если по факту он пустой? 2. Операции над данными производим в контроллере? Метод тогда зачем? Я думал в методе как раз и производим работу с данными. В контроллере собираем, вызываем классы из модели, где проводим изменения и основную работу, и передаем готовый результат уже в контроллер для последующей передачи в Разор. 3. Можете скинуть ссылку почитать по работе с БД и составлением запросов применительно к MVC? К примеру, мне нужно отправить запрос вида SELECT id,aaa,bbb FROM testTable WHERE aaa<'2019-01-01'
0
|
||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||
| 28.06.2019, 18:01 | ||||
|
Один и тот же метод (например "Login" для сценария авторизации) может быть реализован дважды - первый раз для выдачи "бланка" для заполнения, а второй - для получения уже бланка заполненного. Первый не имеет параметров и возвращает (передает браузеру) чистую страницу с названиями полей, сами поля при этом не заполнены. Поэтому он имеет [HttpGet], т.е. он (метод) ничего не ждет от браузера, а просто дает ему "чистую" страницу. После того, как юзер заполнил страницу-бланк и нажал на кнопку, в контроллер должна быть переслана эта информация, для чего служит второй метод с таким же именем, но уже с параметрами. Для этого "принимающий" метод имеет директиву [HttpPost] Добавлено через 19 минут Добавлено через 7 минут
0
|
||||
| 28.06.2019, 18:01 | |
|
Помогаю со студенческими работами здесь
8
Копирование строки. При вводе пробела программа пропускает последующий ввод данных Поиск данных в текстовом файле и последующий вывод
Чтение из файла данных и последующий вывод на экран в виде линейного однонаправленного списка Ввод/вывод из полей input и textarea в бд mysql с помощью php Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|