ASP.NET MVC在视图之间传递数据

时间:2014-01-15 02:15:34

标签: asp.net-mvc

我正在创建一个我需要传递一个值的应用程序,这相当于一个用户名,其中向导的第一部分将创建用户名,此用户名将在视图之间传递以填写其余部分表格。

传递此值的最佳做法是,将其作为每个表单的一部分提交(使其成为隐藏字段)传递给每个表单,或者最佳方法是什么。在会话中存储这个并不是一个想法,因为我不希望在会话超时后丢失该值。

我只想了解最佳做法。我也不希望这个值对用户可见(不是查询字符串的一部分)

修改

为了清楚起见,我已经使用数据库来保存我的数据状态,我说的是传递一个字段,以便我可以将其余数据加载/保存到相同的ID。

1 个答案:

答案 0 :(得分:1)

如果您正在处理复杂的图形和/或您希望它是持久的,您可能需要使用database-backed Session或者只需创建自己的数据库实体并在向导的各个阶段之间进行更新。

隐藏字段甚至是cookie都是可能的,但它们只管理少量数据是合理的,并且您提到您不希望将数据公开给最终用户。您可以只加密包含向导状态的序列化对象,有点像视图状态,如果您不想为其编写持久性,则通过隐藏传递它。但是既然你确实说过你不想在会话之间失去状态,那么按照我提到的那样将数据存储在数据库中是最明智的。

没有严格的规则,只需列举您的要求并继续下去。