2013-01-17 115 views
0

我有3個步驟,每一步都是它的視野。在步驟1中,我會詢問開始日期/時間(他們可以選擇時區和時間)並將其存儲爲UTC,然後根據他們選擇的時區顯示日期/時間,而不必知道他們選擇了哪個時區不要存儲它,因爲用戶根據計算機時區查看它)。保持多個步驟的數據?

我想知道做到這一點的最佳方法。我想存儲tempdata,然後重新存儲它。儘管這看起來不是最佳做法。

回答

1

如果模型(或多個)您使用步驟2和3有Timezone屬性,你可以存儲在一個隱藏字段中的值,並將它貼回到你身邊,像這樣:

Html.HiddenFor(model => model.Timezone); 

替代品會將這個值放在一個cookie中(並且可能使用CookieValueProvider來恢復它)或者將它放在會話中,儘管最後一個選項isn't really how MVC是「意思」要使用的。

+0

我喜歡爲步驟2的模型和步驟3的模型創建時區屬性的想法。將TempData傳遞給另一個TempData並不會有太大的不同,但它更清潔一點 – datatest

+0

是的,'Timezone'聽起來像是你模型的一個自然部分,所以對我來說這樣處理它是有道理的,而不是採取必要的步驟來爲兩個Post-Redirect-Gets放置一些東西。 –