powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC, как передать модель между двумя action?
25 сообщений из 47, страница 1 из 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
25 сообщений из 47, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC, как передать модель между двумя action?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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