TempData контроллера TempData можно использовать для достижения такой функциональности. Недостатком является то, что он использует хранилище сеансов в фоновом режиме. Это означает, что у вас будет дополнительная работа, чтобы заставить ее функционировать на веб-ферме или вам необходимо включить сеансы в первую очередь.
В качестве альтернативы вы можете использовать файлы cookie, если вам нужно только передать короткое сообщение. Для этого вам необходимо правильно защитить файл cookie, чтобы предотвратить несанкционированное использование. MachineKey.Protect() может помочь вам в этом.
Я столкнулся с той же проблемой, что и вы, и создал для нее решение под названием FlashMessage. Возможно, это может сэкономить вам некоторую работу. Он также доступен на NuGet.
Использование FlashMessage очень просто. Вы просто ставите в очередь сообщение перед вызовом RedirectToAction() следующим образом:
// User successfully logged in
FlashMessage.Confirmation("You have been logged in as: {0}", user.Name);
return RedirectToLocal(returnUrl);
По вашему мнению, вы включаете следующий оператор для отображения любых ранее поставленных сообщений: