2012-08-23 69 views
0

我正在使用C#MVC。在所有需要的數據在一個表單上之前,我已經創建了一個表單。一旦用戶填滿,它就會轉到控制器,將數據插入到數據庫表中。C#MVC創建表單

我該如何處理字段位於3個不同頁面的情況。在第3頁上,我喜歡提交。數據如何呈現?

也是一個會話變量好用於與多個頁面共享的數據嗎?

回答

0

您可以使用不同的視圖,也可以使用帶有選項卡式UI的一個視圖,並將三個部分視圖用作每個選項卡的內容。

您可以使用會話,但必須確保他們可以在20分鐘內完成內容;只要發生回發,那麼該限制就會重置。

0

如果你做一個嚮導式的工作流程,你可以只是爲每個頁面ViewModel和用戶前進通過每個頁面存放在Session變量中的每個ViewModel。然後完成後,您可以從Session中抓取所有模型,然後將這些值彙總到您完成的表單狀態。

對於每個POST調用服務來說,將頁面數據保存到數據存儲中以便用戶瀏覽每個頁面時,實體將通過某種服務填充並存儲在數據庫中。

0

可能只有一個局部視圖來吐出一個具有所有3個頁面屬性的ViewModel,然後使用jQuery嚮導插件(或者您正在編寫自己的代碼)來簡單地操縱DOM來顯示/隱藏每個點擊NEXT/PREVIOUS按鈕。它將仍然是單一表格的一部分。然後點擊提交會回發給你的控制器方法,比如說帶有序列化JSON的$​​ .ajax()POST。

0

如果您在嚮導中的所有頁面之間共享一個視圖模型,則可以在頁面上部署HiddenFor字段以保留在該向導頁面上不可見的信息。

這會在整個嚮導中保留在其他表單上輸入的數據字段,並且不依賴會話來存儲信息。