调用RedirectToAction时,Response.Cookies会重置

Bor*_*ens 8 .net cookies asp.net-mvc redirect

在我的asp.net-mvc项目中,我有一个AccountController,在登录时将具有用户首选项的cookie设置为Request.Response,然后执行RedirectToAction.重定向后,cookie被重置,所以我松开了我的设置.

我能想到的唯一解决方案是在tempdata中添加cookie中的数据,然后在RedirectToAction的目标操作中再次获取它.这有点落后......

这是一种常见做法吗?有没有更好的解决方案?我应该以不同的方式处理我的cookie

bzl*_*zlm 3

是的,用于此目的是一种常见的做法,并且这与应该使用的TempData方式非常一致- 在仅由客户端重定向分隔的两个操作方法之间传递临时数据。TempData

由于从登录页面重定向到任何其他操作方法,您可以实现在基本控制器中从 TempData 设置 cookie 的功能。这将使任何操作方法 cookies-via-TempData 兼容。这是在页面上显示通知时的常见情况,其中通知(如本网站上的通知)通常会自动TempData从视图移动ViewData到视图。