HttpContext доступен только во время текущего HTTP-запроса.Если вы перенаправляете на другое действие, это другой HTTP-запрос, отправленный браузером с другим HttpContext.Если вы хотите сохранить данные между запросами, вы можете использовать TempData (доступно только для 1 перенаправления) или Session .Под прикрытием TempData использует сессию в качестве хранилища, но автоматически перенаправляет ее после перенаправления.
Пример с TempData:
public ActionResult A()
{
TempData["foo"] = "bar";
return RedirectToAction("B");
}
public ActionResult B()
{
// TempData["foo"] will be available here
// if this action is called after redirecting
// from A
var bar = TempData["foo"] as string;
// TempData["foo"] will no longer be available in C
return RedirectToAction("C");
}
Пример с сессией:
public ActionResult A()
{
Session["foo"] = "bar";
return RedirectToAction("B");
}
public ActionResult B()
{
var bar = Session["foo"] as string;
// Session["foo"] will still be available in C
return RedirectToAction("C");
}