chr*_*ris 1 asp.net-mvc tempdata
作为这个问题的后续,我想知道我的TempData发生了什么.
场景1:
场景2:
现在,我没有看到用户登录进行验证的原因.在场景1中,我在TempData中输入了"Success"消息,并返回RedirectToAction("Index").索引操作具有AuthorizeAttribute - 如果他们未登录,则会将其重定向到登录屏幕(单独的控制器).
我希望登录屏幕显示我的消息,但TempData似乎在这种情况下被清除.我是否误解了TempData生命周期?它是否仅适用于同一控制器内的请求?
问题是如果用户未登录,AuthorizeAttribute会在循环中引入另一个重定向.您正在将用户重定向到另一个操作,然后,如果用户未登录,则AuthorizeAttribute会将其重定向到登录页面.TempData只存在于一个请求周期内,因此额外的重定向(请求)将清空它并且在登录页面上不可用.
您可以考虑将其直接放在Session中,而不是将TempData前端放入Session.只要会话存在,它应该仍然存在.
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |