ASP.NET MVC:返回Redirect和ViewData

pis*_*hio 10 c# asp.net-mvc

我的MasterPage中有一个登录框.每当登录信息不正确时,我都会定价ViewData["loginError"]以向用户显示错误消息.

Login是UserController的一个动作,因此包含登录的表单具有action = "/User/Login".

由于用户可以尝试从任何页面登录,如果成功,我会将他重定向到他的个人页面,但如果出现错误,我希望他留在他尝试登录的同一页面上.我发现这有效:

return Redirect(Request.UrlReferrer.ToString());
Run Code Online (Sandbox Code Playgroud)

但似乎,由于我没有返回正确的视图,ViewData上的数据丢失了,所以我无法显示错误消息.

关于如何解决这个问题和类似问题的任何建议?

谢谢

ror*_*ryf 17

您可能希望使用该TempData属性,这将持久保存到下一个HTTP请求.

  • 请记住TempData使用会话状态 - 具有所有含义. (4认同)