如何处理ASP.NET MVC中的多部分表单?

时间:2009-07-15 22:11:27

标签: c# asp.net-mvc

我想在ASP.NET MVC中创建一个跨3页的注册表单。

在提交第3页之前,应该使用哪种方法来保留用户对第一页和第二页的答案?

是否使用TempData,Session或MVC特有的其他方法?

有没有如何做到这一点的例子?

3 个答案:

答案 0 :(得分:3)

Steven Sanderson在Pro ASP.NET MVC Framework(第396-406页)中有一个成功的例子。他将数据发送到页面或根据需要序列化到TempData,并使用一对自定义的OnActionExecuting / OnResultExecuted方法在后台管理它。在控制器内部,数据像魔术一样弹出,因此它不像我想的那么透明,但显示了一种避免会话状态的基本持久性方法。

答案 1 :(得分:0)

答案 2 :(得分:0)

我认为在选择解决方案之前,您应该考虑一些标准。其中一些是:

  1. 您是否有经过身份验证的用户或公共(匿名)用户?
  2. 您在页面之间存储的信息有多敏感?
  3. 他们是否可以离线并稍后返回继续他们离开的地方?
  4. 您要存储的数据(总计)有多大,您预计会有多少并发用户?
  5. 这些问题将引导您决定存储数据的位置和方式。一旦你知道了,你就可以开始寻找这种存储方法的良好实现。