powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC, как передать модель между двумя action?
47 сообщений из 47, показаны все 2 страниц
MVC, как передать модель между двумя action?
    #37685892
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public ActionResult Check(SuperModel model)
{
   return RedirectToAction("Approve")
}

public ActionResult Approve(SuperModel model)
{
   // как здесь получить модель которая пришла в Check?
}



Можно использовать TempData, но это некрасиво и чревато тем что пользователь просто нажав ф5 может потерять модельку.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37685966
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нормально с TempData, а еще лучше - обойтись одним экшен.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686001
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонДа нормально с TempData, а еще лучше - обойтись одним экшен.

не, TempData здесь не подходит - а насчет акшинов это само собой, только действия выполняются по шагам и на каждый шаг свой View.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686010
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вариант не подойдет?

Код: c#
1.
2.
3.
4.
public ActionResult Check(SuperModel model)
{
   return View("Approve", model)
}
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686021
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopТакой вариант не подойдет?

Код: c#
1.
2.
3.
4.
public ActionResult Check(SuperModel model)
{
   return View("Approve", model)
}



в этом случае акшн не выполняется
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686022
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подождем МСУ )
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686054
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короч пока запихнул в сессию модельку - подождем более красивого варианта.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686068
Архитектурно неверный подход. Если не хотите измененную модель в Approve, запретите её менять в представлении.
Если плевать на бест практис, хороший тон и прозрачность логики, можете пересохраняться (как Вам уже сказали, хоть в базе данных) и извлекаться в Approve.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686115
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLoverподождем более красивого варианта.

Это вам не визард с ViewSate ), обычные пост/гет запросы, чудеса закончились )
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686365
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleLover
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public ActionResult Check(SuperModel model)
{
   return RedirectToAction("Approve")
}

public ActionResult Approve(SuperModel model)
{
   // как здесь получить модель которая пришла в Check?
}



Можно использовать TempData, но это некрасиво и чревато тем что пользователь просто нажав ф5 может потерять модельку.

RedirectToAction используйте
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37686369
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pavluha,

Вот так RedirectToAction("Message", "Error", new { message = Resources.Strings.ErrorDelete });
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695361
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaPavluha,

Вот так RedirectToAction("Message", "Error", new { message = Resources.Strings.ErrorDelete });

фих там
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695385
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эмм, а как вам некрасивые варианты с сессией? :)
примерно так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public ActionResult Check(SuperModel model)
{
Session["chkModel"] = model;
   return RedirectToAction("Approve")
}

public ActionResult Approve()
{
    var checkModel = (SuperModel)Session["chkModel"];

    Session.Remove("chkModel");

    return View();
   // как здесь получить модель которая пришла в Check?
}



можно в бехайндер даже засунуть, чтобы
Хотя лично мне вариантик не оч нравится
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695410
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У себя использовал следующий вариант:

Модель преобразовывал в текст (сериализовал) и хранил в hidden field, на следующей странице доставал значение из temp дата и десиреализовал обратно в объект. Подробно об этой реализации здесь Пример на mvc2, но переделать на mvc3 не проблема.

Хранить объект в сессии - данные могут быть потеряны в связи с перегрузкой сайта, или время сессии вышло, или сервер захочет освободить немного места для других целей...
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695422
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopХранить объект в сессии - данные могут быть потеряны в связи с перегрузкой сайта, или время сессии вышло, или сервер захочет освободить немного места для других целей...

да, это одна из причин, почему этот вариант не нравится (хотя сессию можно ведь хранить как угодно)

при серриализации и хранении в hidden-field лучше хранить в base64 + хешь по данным и secret key, чтобы после чека нельзя было подменить данные
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695439
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelopУ себя использовал следующий вариант:

Модель преобразовывал в текст (сериализовал) и хранил в hidden field, на следующей странице доставал значение из temp дата и десиреализовал обратно в объект.


И, кстати, получаем ViewState ))
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695496
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И, кстати, получаем ViewState ))
Совершенно верно=)

Но для одной модели, а не для всей страницы, и полностью контролируемый.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695515
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так и храню в сессии. Просто мне казалось гораздо удобнее бы было придумать спецконтейнер для этого. Надо будет в майкрософт написать претензию :)
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695519
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLoverя так и храню в сессии. Просто мне казалось гораздо удобнее бы было придумать спецконтейнер для этого. Надо будет в майкрософт написать претензию :)

а чем не подходит вариант предложенный rudevelop?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695573
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извращения продолжаются )

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public ActionResult Check(SuperModel model)
{
   // логика
   if(IsValid)
      return View("Approve", model);
   else
      return View("Order", model);
}


а так ?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695581
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю вообще "проблемы". Её нет.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695609
автора так ?
а что так?
скажем у меня есть экшн delete! я хочу просто удалить фотку и нехочу возвращать вью delete с надписью "фотка удалена"
я хочу вернуться по адресу где я был до вызова экшна delete и увидеть, что фотки тупо нету!
вполне естественно, что это будет так
Код: c#
1.
return RedirectToAction("Album")


сервер в ответ по экшну delete выдаст браузеру заголовок http://en.wikipedia.org/wiki/HTTP_location
браузер перезапросит сервер по новому адресу и выдаст страницу по GET ALBUM

Где там нарисовались хидден-филды (которые никак не попадают в ответ сервера с delete) и
Код: c#
1.
return View("Order", model); //по запросу http://aaa.com/delete будет разметка http://aaa.com/album


так и остаётся за пределом понимания!

сессия - неплохое хранилище данных между запросами!!!
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695624
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД - отличное хранилище данных между запросами! Можно сжечь комп и продолжить потом на новом! :)

Может раскроете суть задачи? Для чего передавать модель между действиями? Чтобы что реализовать?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695626
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...Где там нарисовались хидден-филды (которые никак не попадают в ответ сервера с delete) и

ЧиВо o_0 ?

как то так...сессия - неплохое хранилище данных между запросами!!!
Плохое )
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695628
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЧтобы что реализовать?

Мастера

1 Шаг - задайте параметры
2 Шаг - введите что хотите
3 Шаг - позырьте все ли вы правильно сделали
4 Шаг - подверждайте
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695629
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе понимаю вообще "проблемы". Её нет.

Я тоже так думал - это все пока ты в нее наступишь
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695643
да используй ты tempData!!! и не выноси мозг!!! ;)))
полагаю, что она построена на принципе хранения сессий - другого и быть неможет!
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695648
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public ActionResult шаг2(SuperModel model)
{
   // логика
   if(IsValid)
      return View("шаг3", model);
   else
      return View("шаг1"); 
}
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695667
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public ActionResult шаг2(SuperModel model)
{
   // логика
   if(IsValid)
      return View("шаг3", model);
   else
      return View("шаг1"); 
}



ретурн вью возвратит вью а не пройдет цепочку через action-view
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695672
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLover, google на запрос "asp.net mvc wizard" выдаёт кучу информаиции. Вы решить не можете, что Вам подходит? :)
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695673
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLover,

У вас 4 вью, их нужно представить пользователю с нужными данными, которые вычисляем в контроллере.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695679
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695726
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь нет надобности в каких либо куках, временных и постоянных.
Есть возможность передавать данные в пост запросах, это надежно и практично, и доктора рекомендуют )
Принимать их в контроллере, и отдавать в представление, и вот он - Model View Controller. )

А вообще делается это на javascript, $('#step1').hide(), $('#step2').show() c Ajax проверками.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695748
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перефразирую вопросец - где хранить что-то глобальное КЛИЕНТСКОЕ?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695755
авторЕсть возможность передавать данные в пост запросах, это надежно и практично
согласен! в данном случае, твой подход будет справедливым! ;)
авторЗдесь нет надобности в каких либо куках, временных и постоянных.
..........
А вообще делается это на javascript, $('#step1').hide(), $('#step2').show() c Ajax проверками.

!? ...
авторПерефразирую вопросец - где хранить что-то глобальное КЛИЕНТСКОЕ?
гыгыгы... это ты зря спросил!!! ;)
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695760
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ не пропадай, дай навотку

как на проблему по-другому взглянуть чтобы ее не стало?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695771
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLoverПерефразирую вопросец - где хранить что-то глобальное КЛИЕНТСКОЕ?

У клиента в браузере )
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695785
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...,

Поля в форме пробовал использовать? Любимый неймвалюколекшен для репозитория. ;)
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695976
авторПоля в форме пробовал использовать? Любимый неймвалюколекшен для репозитория. ;)
ты такой забавный! честно, нехотел соглашаться с тобою! но, подумал - ладно, попробую! в принципе - результат вполне прогнозируемый!
По заданному тобою вопросу... А что, в ASP.NET MVC FW, броузер, при твоём подходе, посылает нечто другое, чем "неймвалюколекшен" (С) серверу? Или тебе не понадобятся hf для сохранения промежуточных результатов? В чём подвох? ;)))
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37695977
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLoverМСУ не пропадай, дай навотку
как на проблему по-другому взглянуть чтобы ее не стало?
Я еще с самого начала ответил - пересинхронизация с БД / сессией / скрытым полем и т.д. Не понятно?
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37696299
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...А что, в ASP.NET MVC FW, броузер, при твоём подходе, посылает нечто другое, чем "неймвалюколекшен" (С) серверу?

Тут больше играет роль как это получать, и куда передавать.

как то так...Или тебе не понадобятся hf для сохранения промежуточных результатов? В чём подвох?
Есть просветление )
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37696317
авторТут больше играет роль как это получать, и куда передавать.
в том то и дело, что ты ограничен технологией (FW) - у тебя работает маппер на классы независимо от твоего желания (ИМХО это обстоятельство сужает твоё мышление ;)! расширяй кругозор и всё будет ОК!!!
авторЕсть просветление )
Ровно на столько же, сколько и в твоей голове! ;)

P.S. Предлагаю закончить обоюдные выпады... ИМХО - беседа уже получилась!!!
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37696351
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...в том то и дело, что ты ограничен технологией (FW)

Да вообще технологией ограничен )

как то так...у тебя работает маппер на классы независимо от твоего желания

Это настораживает. o_0
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37696406
авторЭто настораживает. o_0
12141868
о резиновых пулях, танках и пушках ;)авторДа вообще технологией ограничен )

http://ru.wikipedia.org/wiki/%D0%A0%D1%83%D1%81%D1%82,_%D0%9C%D0%B0%D1%82%D0%B8%D0%B0%D1%81
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37696996
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУOracleLoverМСУ не пропадай, дай навотку
как на проблему по-другому взглянуть чтобы ее не стало?
Я еще с самого начала ответил - пересинхронизация с БД / сессией / скрытым полем и т.д. Не понятно?

Короче разворочу снова эту засохшую коровью лепешку - потестил, поизучал, попробовал разные моменты и скажу что мне не нравится ни один из вариантов(сделал, точнее оставил как сделал в само начале - на сессии). Тут я думаю мое годами наглухо завингуийное мышление виновато и это недостатокособенность клиент-серверных стандартов.
КОНТЕЙНЕР. ДОЛЖЕН. БЫТЬ. ГДЕ-ТО. ОТДЕЛЬНО. И это твои проблемы.
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37765599
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри что поднял старую тему, но думаю автору будет полезно:
TempData помечает данные на удаление только после их чтения
При помощи метода TempData.Peek можно прочесть данные по ключу, не пометив ключ на удаление
...
Рейтинг: 0 / 0
MVC, как передать модель между двумя action?
    #37772268
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSСорри что поднял старую тему, но думаю автору будет полезно:
TempData помечает данные на удаление только после их чтения
При помощи метода TempData.Peek можно прочесть данные по ключу, не пометив ключ на удаление

Спасибо, реально гут.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC, как передать модель между двумя action?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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