Как передавать данные между контроллерами asp.net mvc?

Есть 2 метода, в общем случае расположенных в разных контроллерах:
public ActionResult FirstMethod()
{
    ...
    ViewBag.Message = "My message";
    return RedirectToAction("SecondMethod");
}

и
public ActionResult SecondMethod()
{
    ...
    return View();
}


Как сделать, чтобы в представлении метода "SecondMethod" выводилось значение ViewBag.Message?
  • Вопрос задан
  • 6872 просмотра
Решения вопроса 1
@konar Автор вопроса
Решил проблему использованием свойства TempData.
public ActionResult FirstMethod()
{
    ...
    TempData["Message"] = "My message";
    return RedirectToAction("SecondMethod");
}

public ActionResult SecondMethod()
{
    ...
    ViewBag.Message = TempData["Message"];    
    return View();
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kokcuk
Нет под рукой студии проверить, но попробуйте в первом контроллере вызывать что то вроде
return View("~/Views/SecondControllerName/MyView")
С указанием полного пути
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы