Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Asp net MVC MPA. Как ? / 25 сообщений из 29, страница 1 из 2
01.09.2016, 11:34
    #39301765
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Asp net MVC MPA. Как ?
Привет.

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

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

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

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

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

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

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

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

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


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

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

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


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


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

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

MS VS 2015.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть пример скрипта делающего такое, да еще и декларативно ? ))
Для меня это задача не на 5-10 минут. Но был бы рад такое посмотреть и использовать.
...
Рейтинг: 0 / 0
02.09.2016, 11:51
    #39302586
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Asp net MVC MPA. Как ?
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
02.09.2016, 12:40
    #39302636
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Asp net MVC MPA. Как ?
Парамон,

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

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

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

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


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