2009-07-15 49 views
5

我想制作一个跨越ASP.NET MVC中3个页面的注册表单。如何处理ASP.NET MVC中的多部分表单?

在提交第三页之前,应该用什么方法来保持用户对第一页和第二页的答案?

它是使用TempData,Session还是MVC特有的其他方法完成的?

是否有任何如何做到这一点的例子?

回答

3

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

+2

TempData使用下面的SessionState。我真的需要拿到那本书。 – andymeadows 2009-07-16 03:02:06

+2

的确,TempData是在会话存储之上实现的,但由于内容在一次请求后自动刷新,所以它更容易使用。 – keithm 2009-07-16 05:19:04

0

我觉得有你在选择解决方案之前应该考虑的几个标准。其中一些是:

  1. 您是否拥有经过身份验证的用户或公共(匿名)用户?
  2. 您在页面之间存储的信息有多敏感?
  3. 他们是否被允许离线并稍后返回以继续他们离开的地方?
  4. 您存储的数据量有多大(总计)以及您预计有多少并发用户?

这些问题将引导您决定在何处以及如何存储数据。一旦你知道了,你就可以开始寻找这种存储方法的良好实现。

相关问题