Передать ModelState в RedirectToAction

Есть ли способ передать ModelState в RedirectToAction без использования TempData?

ОБНОВЛЕНО

У меня есть следующие действия:

public ActionResult Index()
{
    var model = SettingsService.GetSettings();
    return View(model);
}

[HttpPost]
public ActionResult Update(Settings model)
{
     if (ModelState.IsValid)
     {
         SettingsService.UpdateSettings(model);
     }

     return RedirectToAction("Index");
}

Модель имеет ошибки проверки сервера. Я хотел бы показать ошибки после перенаправления на Index.

Приложения находятся в облаке и имеют как минимум две веб-роли, каждая машина имеет свой сеанс, поэтому я не могу использовать TempData (который использует сеанс).


person Evgeniya Rudakovskaya    schedule 04.03.2014    source источник
comment
Нет, на мой взгляд, вам нужно TEMPDATA   -  person Amit    schedule 04.03.2014
comment
Можете ли вы привести пример того, почему вам это нужно?   -  person musefan    schedule 04.03.2014
comment
Конечно, я добавил несколько иллюстраций   -  person Evgeniya Rudakovskaya    schedule 04.03.2014


Ответы (2)


Если возможность использования Session блокирует вас, это может быть исправлено. Немного настроив, вы можете использовать поставщик состояний сеанса для Windows Azure. Поскольку это совместно используемое хранилище, оно не имеет состояния, ваши веб-роли также остаются без состояния.

Здесь вы можете получить все инструкции: http://msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspx

person Andrei    schedule 04.03.2014

Вы можете попробовать передать ModelState в качестве параметра или, по крайней мере, сделать его копию или нужные вам свойства:

RedirectToAction("MyAction", 
   new System.Web.Routing.RouteValueDictionary() { { "modelState", ModelState } });
person Andrei V    schedule 04.03.2014