在页面刷新期间保留对象数据

时间:2014-12-31 15:05:07

标签: asp.net-mvc-4

我的MVC4场景: 我有一个随后的调查页面的联系表格。该网站的每个页面都有一个"更改语言"选项,刷新页面,将查询字符串参数传递回同一页面,更改CurrentCulture,并从相应的资源文件中提取文本。

当用户提交联系表单时,他们将被带到调查页面。出于明显的安全原因,我没有通过查询字符串将联系人ID发送到调查页面。我正在做的是在控制器方法中的联系表单提交上设置TempData [" ContactId"]对象值,并让调查控制器方法从该对象中读取。

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

有关如何在页面刷新过程中持久保存ContactId的任何建议吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

Session和TempData是一回事。

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

相关问题