2013-01-17 77 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放置一些东西。 –