2009-07-15 57 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. 您存儲的數據量有多大(總計)以及您預計有多少併發用戶?

這些問題將引導您決定在何處以及如何存儲數據。一旦你知道了,你就可以開始尋找這種存儲方法的良好實現。

相關問題