ASP.NET MVC: retornar Redirect e ViewData

Eu tenho uma caixa de login na minha MasterPage. Sempre que as informações de login não estiverem corretas, eu valorizoViewData["loginError"] para mostrar a mensagem de erro ao usuário.

Login é uma ação do UserController, então o formulário que contém o login temaction = "/User/Login".

Como um usuário pode tentar fazer login a partir de qualquer página, em caso de sucesso, eu o redireciono para sua página pessoal, mas em caso de erro, quero que ele fique na mesma página em que ele tentou fazer o login. Eu descobri que isso funciona:

return Redirect(Request.UrlReferrer.ToString());

mas parece que, como não estou retornando uma visualização adequada, os dados em ViewData são perdidos, portanto, não posso mostrar a mensagem de erro.

Alguma sugestão sobre como resolver isso e problemas semelhantes?

obrigado

questionAnswers(5)

yourAnswerToTheQuestion