|
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 5
|
||||||
MVC 5 как передать две и более переменных из контроллера в View?21.02.2020, 10:35. Показов 4344. Ответов 11
Совсем недавно начал осваивать .Net Core MVC и столкнулся с вполне типичной задачей, когда загружается страница категории, она должна подгружать данные по текущей категории, затем отобразить под категории и контент для этой страницы, не говоря уже о других подгрузках данных.
Я использую VS2017 и .Net Core 2.2 MVC 5 с Entity Framework В примере ниже, мы видим выборку данных в переменные a1 и a2, как передать a1 все просто и ясно, но как быть с a2, которая содержит второй набор данных, как мне ее передать с контроллера в представление? Ведь таких наборов может быть больше
0
|
||||||
| 21.02.2020, 10:35 | |
|
Ответы с готовыми решениями:
11
spring-mvc передача данных из контроллера в view Как передать множество переменных с контроллера в вид C# + Postres Передать данный во View из контроллера |
|
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
|
|
| 21.02.2020, 11:01 | |
|
.. создайте промежуточную модель (называйте это DTO, ViewModel, как угодно), которая будет включать в себя нужные списки, после запроса к базе поместите все ваши переменные в эту промежуточную модель (через foreach, например) и её и выводите в представлении ...
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 5
|
||||||||||||||||
| 21.02.2020, 11:32 [ТС] | ||||||||||||||||
|
Ох, мне даже сложно вам сформулировать вопрос, т.к. язык для меня новый и с MVC впервые сталкиваюсь, но попробую обьяснить.
Я когда создавал базу по EF code first то уже делал базовую модель и по ней создается скрипт миграции, который создает бд и содержит приблизительно такой код
Ну и конечно я не понимаю как это устроено, создам я ту модель, но у меня есть входящие данные а в некоторых случаях параметров будет больше. Как в таком случае, будет выглядеть вызов представления из контроллера и значит ли это то что я делаю перенос обработки данных из контроллера в модель? Я так понимаю что при такой модели данные должны изменится следующим образом Контроллер
Добавлено через 4 минуты Кстати я буду очень благодарен если вы сможете подсказать статью, которая поможет разобраться именно в этом вопросе. Потому что не зная предмета, я не могу даже правильно сформулировать поисковый запрос, что бы найти подходящую информацию, потому что на майкрософте и метаните смотрел что все могло бы быть как то связанно с этим, но там этот вопрос не поднимается, во всяком случае у меня не вышло найти это
0
|
||||||||||||||||
|
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
|
|
| 21.02.2020, 11:49 | |
|
,.. вам для решения вашего вопроса надо или гуглить в сторону stackoverflow с конкретным запросом, либо попытаться усидчиво (
) прочитать, например, Getting Started от Microsoftreading-related-data-with-the-entity-framework-in-an-asp-net-mvc-application .. просто в MVC настолько все как-то ... мудрено..., что просто на пальцах не объяснить .. я, честно сказать, использую платформу WebAPI + SPA, где все проще ...
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 5
|
|
| 21.02.2020, 11:57 [ТС] | |
|
Благодарю за чтиво, буду пробовать)
После писания на чистом пхп, нужно с чего то начинать, это показалось мне более интересным т.к. свежая технология и в visual studio все таки эти вещи на много приятней делать, хорошая ide, много инфы и все такое, но как и в любом программировании, есть вопросы, ответы на которые можно провозится кучу времени, а со временем понимаешь какой это пустяк) Что ж, во всяком случае сейчас у меня есть еще одно направление в сторону решения, надеюсь будет полезным
0
|
|
|
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
|
|
| 21.02.2020, 12:09 | |
Сообщение было отмечено Pacm3n как решение
Решение
.. просто и в MVC, и в WebAPI есть смысл (хотя и не обязательно, но рекомендуется) разделять модель, которую вы создали для работы с базой данных, и которая привязана к DbContext, и модель, которую вы передаете в представление (ViewModel)... Это может показаться излишним промежуточным шагом, но позволит вам в контроллере (до отдачи представления в браузер) сформировать нужную структуру данных из нескольких запросов к бд, если нужно ...
1
|
|
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
||
| 21.02.2020, 16:11 | ||
|
Нууууу, это какбы целый паттерн, который очень настоятельно рекомендуется.... И если работать со сложными моделями, то категорически обязательно
0
|
||
|
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
|
||
| 21.02.2020, 17:52 | ||
|
0
|
||
|
|
|
| 21.02.2020, 19:17 | |
|
yurickas, что за паттерн такой?
В MVC вообще грех какие-то прокладки создавать, ибо дальше сервера эти данные никуда не уходят. Каждая созданная вью-моделька тянет за собой еще и создание маппера, тем самым ухудшая поддерживаемость приложения по определению.
0
|
|
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|||
| 21.02.2020, 19:25 | |||
|
0
|
|||
|
|
|||
| 21.02.2020, 19:33 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 5
|
|
| 25.02.2020, 14:18 [ТС] | |
|
Благодарю всех за внимание я нашел четкую инструкцию как мне достичь цели @carrotik оказался прав на счет вью модели, для меня это максимально простое решение, которое позволяет насышать определенные страницы необходимыми мне данными и ничего лишнего. Может кто будет задаватся данным вопросом, то посмотрите этот гайд, это дает понимание
https://metanit.com/sharp/aspnet5/8.2.php В данный момент мне кажется что проще некуда, когда для страницы создаешь вьюмодель, добавляя только те данные которые будут обрабатываться, что позволяет менять как саму вьюмодель, а также модели данных, поправьте если я ошибаюсь с термином, но обратно таки, если вы знаете решение более легкое и то что позволит легко работать с кодом в будущем, я с благодарностью приму ваши советы, я за эффективность и минимализм потребления ресурсов.
0
|
|
| 25.02.2020, 14:18 | |
|
Помогаю со студенческими работами здесь
12
Как передать в функцию две переменных? Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера Не могу передать данные размером более 1 Мбайт в контроллер mvc приложения Как передать параметры из одного View в EditorFor другого View Можно ли передать в функцию две переменных через 1 какую-нибудь конструкцию? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|