我的MVC4场景: 我有一个随后的调查页面的联系表格。该网站的每个页面都有一个"更改语言"选项,刷新页面,将查询字符串参数传递回同一页面,更改CurrentCulture,并从相应的资源文件中提取文本。
当用户提交联系表单时,他们将被带到调查页面。出于明显的安全原因,我没有通过查询字符串将联系人ID发送到调查页面。我正在做的是在控制器方法中的联系表单提交上设置TempData [" ContactId"]对象值,并让调查控制器方法从该对象中读取。
问题是用户在提交后在调查页面上,然后选择更改语言。这会导致页面刷新,然后TempData对象为null。
有关如何在页面刷新过程中持久保存ContactId的任何建议吗?
答案 0 :(得分:0)
我认为TempData仅通过单个请求持久存储,因此您可以将语言数据存储在会话变量中。
答案 1 :(得分:0)
Session和TempData是一回事。
但是,您应该使用TempData,因为该对象在被访问过一次后会自动从会话内存中删除。