powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Asp net MVC MPA. Как ?
29 сообщений из 29, показаны все 2 страниц
Asp net MVC MPA. Как ?
    #39301765
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Какие подходы используются в Asp Net MVC, если нужно написать MPA (multi page application) приложение ?
Например каким образом решается такая задача:
Заполняется некоторая форма. В процессе для одного или нескольких полей нужно выбрать данные из справочника (перейти на другую страницу).
Ведь тут у нас проблема в том, что перейдя на другую страницу - теряем уже заполненные поля. И если у нас хотя бы 2 поля-справочника, то заполняя один из них - теряем уже выбранное второе.
Я особо не писал на чистом Asp Net. Но знаю, что там эта проблема решается самой инфраструктурой механизмом State management. Но в MVC такого встроенного механизма нету.

В MVC, как я понимаю, необходимо все это обеспечивать самостоятельно. Причем решение в каждом случае уникальное и его каждый раз нужно кодить.
Т.е. передать Field1, Field2. В другом месте существуют поля Field2, Field4 и т.д. Каждый раз нужно кодить эту специфику. Гуглинг по MPA + MVC что то ничего не дал, что странно. Может быть я не то ищу.

Подскажите пожалуйста есть ли какие-то наработки по унификации данной проблемы ? Наработки, рекомендации и т.д.
Как вообще решать банальную проблему перехода на некий справочник и возврата из него в ЛЮБУЮ форму. Т.е. чтобы в этот справочник передать состояние своей формы а затем справочник вернул управление форме с которой ушли и передал сохраненное состояние.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301771
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не писал SPA с использованием JS фреймворков. Как я понимаю там этой проблемы вообще нет. Фактически SPA похожа на обычное локальное приложение, когда в памяти хранится все состояние программы. Поэтому не важно какая форма отображается в данный момент.
Думаю это хороший плюс у SPA. Главное следить за объемом памяти, чтобы страничка браузера не стала весить сотни Mb памяти :)
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301827
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только мы видим слово "приложение", мы сразу вспоминаем про любой приемлимый JS-фреймворк.

Мне нравится angularJS. Даже в принципе мирюсь с динамической природой JS, хотя нет особенных проблем заюзать TS.
Но это как бы необязательно. "Навязываемая" ангуляром архитектура достаточно удобна.

Ну а с Ангуляром - можно воротить уже что угодно. ASP.NET в этом контексте - просто поставщик данных.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301866
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Боюсь не вариант. Проект то рабочий. Предлагает бросить и переписать все с нуля на другой технологии ? Соответственно имеем Asp Net Mvc, и ищем решение для него.

Пока нашел кажется то, что мне нужно ! TempData. Но пытаюсь понять как его разумно использовать. Т.к. при считывании из него теряются данные (хотя можно считывать не стирая). Вопрос в том, чтобы найти какие-то паттерны использования TempData, реализации MPA: переход с формы на справочник и возврат назад. Проблема начнется, если с этого справочника придется еще куда-то перейти (в другой под-справочник например). Вот тогда начнутся заморочки с тем, что везде тянется этот TempData, и как его не потереть случайно.
Не хочется изобретать велосипед. Может быть уже есть какие-то наработки придуманные человечеством.

PS. Ангуляр1 же мертв? Лучше уж сразу на Ангуляр2 пилить/учить же, т.к. нету обратной совместимости.

PPS. Какие инструменты юзаете для сайта на ангуляре ? Чисто VS, или еще что то ? Как получается совмещать раные инструменты с VS ?
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301936
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБоюсь не вариант. Проект то рабочий. Предлагает бросить и переписать все с нуля на другой технологии ? Соответственно имеем Asp Net Mvc, и ищем решение для него.


Хозяин барин. Но ИМХО вы всё чаще и чаще будете упираться в ограничения существующей технологии.

авторПока нашел кажется то, что мне нужно ! TempData. Но пытаюсь понять как его разумно использовать. Т.к. при считывании из него теряются данные (хотя можно считывать не стирая). Вопрос в том, чтобы найти какие-то паттерны использования TempData, реализации MPA: переход с формы на справочник и возврат назад. Проблема начнется, если с этого справочника придется еще куда-то перейти (в другой под-справочник например). Вот тогда начнутся заморочки с тем, что везде тянется этот TempData, и как его не потереть случайно.

У WEB-а по умолчанию цикл жизни - запрос. Все остальное - программирование на клиенте. Или неподдерживаемые ажурные костыли с вертикальным взлетом.


авторНе хочется изобретать велосипед. Может быть уже есть какие-то наработки придуманные человечеством.
Называются - клиентские фреймворки.


авторPS. Ангуляр1 же мертв?
Я щаз понюхал - вроде не пахнет пока.

авторPPS. Какие инструменты юзаете для сайта на ангуляре ? Чисто VS, или еще что то ? Как получается совмещать раные инструменты с VS ?

MS VS 2015.

Не совсем понимаю, что там за инструменты надо совмещать - это же JS. У VS с ним проблем нет.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301940
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот про что ты спрашиваешь.

Адекватный ответ - нужно мутить клиентское приложение. Остальное - не взлетит.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301977
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Да, моя ситуация.


"Бежит лось по лесу смотрит, заяц под кустом ... курит."
...
"Лось ты, блин, как ...покуришь весь лес поднимешь!!!"

Вот не хочу, чтобы мне коллеги такое сказали :) Не могу я руководство и всех коллег махом на фреймворки пересадить.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301989
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekЗаполняется некоторая форма. В процессе для одного или нескольких полей нужно выбрать данные из справочника (перейти на другую страницу).

Можно открыть "модальное" окно и выбрать, для простых справочников достаточно комбобоксов.
ProBiotekВедь тут у нас проблема в том, что перейдя на другую страницу - теряем уже заполненные поля. И если у нас хотя бы 2 поля-справочника, то заполняя один из них - теряем уже выбранное второе.

Тащи их за собой при переходе на другую форму.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39301996
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТащи их за собой при переходе на другую форму.

Ну идея то понятна была сразу. Но сложно все выходит. Тянуть хвост данных через несколько форм, чтобы можно было вернутся и заполнить ранее заполненные поля.
Вон Monochromatique чуть выше дал ссылку на свою тему, где тоже самое обсуждается. Пришли к мнению что делать такое слишком сложно.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302042
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekНе могу я руководство и всех коллег махом на фреймворки пересадить.

Ну почему сразу «не могу»? Определи стратегию, договорись с коллегами, найди единомышленников, наставь большинство на правильный путь, и руководство прогнётся, потому что у него другого пути нет.

Хотя конечно в этом есть и обратная сторона. Если в результате переворота что-то пойдёт не так, будут винить тебя
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302051
Дядя Петя Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все поля кладутся в json и например post запросами пересылаются между формами. Но все равно это бред. А делать нужно вот как - берешь jquery - его легко подключить куда угодно, просто добавить "инклюд", при помощи него отображаешь форму на которой показываешь то что надо выбрать. Вот и все.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302112
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дядя Петя Вася,

Fancybox что ли ? iFrame ?
Как потом результат выбора на "справочнике" вернуть в основную форму?

И еще сложность в том, что сам справочник это функциональная форма с фильтрацией, деревом и полной перерисовкой при изменении чего-то из этого. Так просто наверное ее не загнать в PartialView.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302192
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekЗаполняется некоторая форма. В процессе для одного или нескольких полей нужно выбрать данные из справочника (перейти на другую страницу).
Ведь тут у нас проблема в том, что перейдя на другую страницу - теряем уже заполненные поля.

не преходить уже предлогали?
спрятать одну форму и открыть другую на той же странице.
справочники подгрузить через ajax.

MVC не заточен для SPA.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302248
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

Что значит спрятать одну и показать другую ? Где там на View в Aspnet Mvc одна форма и где другая ?

Понимаю слова, которые вы написали, а вот в плане применимости понимания нет :)
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302298
Дядя Петя Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekДядя Петя Вася,

Fancybox что ли ? iFrame ?
Как потом результат выбора на "справочнике" вернуть в основную форму?

И еще сложность в том, что сам справочник это функциональная форма с фильтрацией, деревом и полной перерисовкой при изменении чего-то из этого. Так просто наверное ее не загнать в PartialView.
просто post запрос это если без jquery. А с jquery - jquery и ничего более. Возвращается также - передаются данные выбранные.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302311
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekЧто значит спрятать одну и показать другую ? Где там на View в Aspnet Mvc одна форма и где другая ?

Открываешь модальное окно (например, bootstrap modal).
Загружаешь туда частичное представление ASP.NET MVC.
Надо спрятать, просто скрываешь модальное окно и открываешь другое.

В чём проблема-то?
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302329
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotek, подробнее задачу опишите.

А так-то get-параметры можно использовать, или базу.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302342
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
В чём проблема-то?

Ты реально не понимаешь, чего он хочет?
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302506
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiquehVosttВ чём проблема-то?

Ты реально не понимаешь, чего он хочет?

То, что он хочет, решается за 5-10 мин. Можно написать простенький скрипт, который позволит открывать сколько угодно каких угодно форм не перезагружая страницу, и описывать это декларативно, т.е. не кодить вызов каждой формы отдельно, сделать на чистом ASP.NET MVC некое подобие ангуляра, но без тонны скриптов, тривиальная задачка.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302518
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Есть пример скрипта делающего такое, да еще и декларативно ? ))
Для меня это задача не на 5-10 минут. Но был бы рад такое посмотреть и использовать.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302586
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekЕсть пример скрипта делающего такое, да еще и декларативно ? ))
Для меня это задача не на 5-10 минут. Но был бы рад такое посмотреть и использовать.
Давно вебом занимаетесь?
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<a href="@Url.Action("Edit", new { id = m.UserId })"
                                class="btn btn-primary"
                                data-target="#useredit"
                                data-toggle="modal">Edit</a>


<div class="modal fade" id="useredit" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-sm">
        <div class="modal-content" id="userform"></div>
    </div>
</div>
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302636
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

не очень. и все по простому у меня.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302641
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

не понимаю, как получить результат из этого потом ?
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302719
Дядя Петя Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekПарамон,

не понимаю, как получить результат из этого потом ?
да юзай jquery, все получится
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302843
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekне понимаю, как получить результат из этого потом ?

Смотря что ты понимаешь под словом «результат».
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302860
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekПарамон,

не очень. и все по простому у меня.
JS подучить придётся.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302863
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Есть основная форма, на ней заполняем поля.

В целом задача такая:
1. открыть некий справочник для одного из полей, по некоей кнопочке
2. выбор чего-то там
3. возврат управления в основную (первую) форму
4. обработка выбранного из справочника результата:
- запись в Model ID выбранного продукта
- отобразить текст "Выберите продукт:Кирпич" (Кирпич подставился после того как сходили в справочник и его там выбрали).

После сабмита основной формы в контроллер уйдут введенные поля и ID продукта "Кирпич".
При этом важно не терять уже введенные на основной форме поля, при переходе на справочник. Т.е. после возврата управления к основной форме ранее введенные данные должны быть сохранены/воспроизведены.

Надеюсь понятно объяснил идею.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302867
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

В процессе. В добавок вникаю в проект в котором есть JS/jQuery и мне его допиливать по мелочи. Так, что есть где применять знания JS. Отмечу лишь, что сам проект простой и там в помине нету того, чего я хотел бы, что тут в теме расписываю.
...
Рейтинг: 0 / 0
Asp net MVC MPA. Как ?
    #39302891
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekhVostt,

Есть основная форма, на ней заполняем поля.

В целом задача такая:
1. открыть некий справочник для одного из полей, по некоей кнопочке
2. выбор чего-то там
3. возврат управления в основную (первую) форму
4. обработка выбранного из справочника результата:
- запись в Model ID выбранного продукта
- отобразить текст "Выберите продукт:Кирпич" (Кирпич подставился после того как сходили в справочник и его там выбрали).

После сабмита основной формы в контроллер уйдут введенные поля и ID продукта "Кирпич".
При этом важно не терять уже введенные на основной форме поля, при переходе на справочник. Т.е. после возврата управления к основной форме ранее введенные данные должны быть сохранены/воспроизведены.

Надеюсь понятно объяснил идею.

с самого начала все понятно объяснил. без js-фраймворка, типа angular, красиво никак не сделать. в частных случаях можно побоянить, но лучше сразу переходить.
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Asp net MVC MPA. Как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]