Asp.net mvc 4 在页面刷新期间保留对象数据

Asp.net mvc 4 在页面刷新期间保留对象数据,asp.net-mvc-4,Asp.net Mvc 4,我的MVC4场景: 我有一张带有后续调查页面的联系表。站点的每个页面都有一个“更改语言”选项,该选项刷新页面,将querystring参数传递回同一页面,更改当前区域性,并从相应的资源文件中提取文本 当用户提交联系人表单时,他们将被带到调查页面。出于明显的安全原因,我不会通过querystring将联系人id发送到调查页面。我正在做的是在controller方法中的contact form submission上设置TempData[“ContactId”]对象值,并让survey contro

我的MVC4场景: 我有一张带有后续调查页面的联系表。站点的每个页面都有一个“更改语言”选项,该选项刷新页面,将querystring参数传递回同一页面,更改当前区域性,并从相应的资源文件中提取文本

当用户提交联系人表单时,他们将被带到调查页面。出于明显的安全原因,我不会通过querystring将联系人id发送到调查页面。我正在做的是在controller方法中的contact form submission上设置TempData[“ContactId”]对象值,并让survey controller方法从该对象中读取

问题在于,用户在提交后出现在调查页面上,然后选择更改语言。这会导致页面刷新,然后TempData对象为null


关于如何在这样的页面刷新过程中保持ContactId,有什么建议吗

我认为TempData只通过一个请求持久化,因此您可以将语言数据存储在会话变量中。

会话和TempData是一样的


但是,您应该使用TempData,因为对象在被访问一次后会自动从会话内存中删除。

我认为
TempData
是这样,所以您可以将语言数据存储在会话变量中。会话工作得非常好,谢谢。太棒了。如果这是你所需要的并且对你有用,我会继续发表我的评论作为回答。