2011-02-09 75 views
2

我只是想知道是否有人有模型绑定DateTime属性的方法,以便它们显示在用户选定时区的视图中,但模型使用它们作为UTC存储在数据库中。使用ASP.NET MVC 3绑定和转换所有模型的DateTime属性

我正在使用ASP.NET MVC 3与SQL Server 2005数据库,但这将很快升级到2008年,并且意味着如果有助于解决方案,我可以使用新的日期时间类型。

我使用的是这个post的代码,这很好的结合了从视图发布的日期和时间信息,我假设有一点额外的代码,我可以很容易地将数据转换为UTC。

所以我想我有2个选择,我需要帮助:

  1. 自定义呈现

是否有覆盖的数据呈现到查看对象的方式,使一个UTC日期在显示视图时转换为用户时区,然后我已经拥有的自定义文件夹会将其转换回来存储在数据库中。

  1. 有没有更好的方法,我不知道?

这是一个在很多网站上可用的功能(我已经在本网站的第一个版本中使用它,我在直接ASP.NET中使用它),但是在我去之前再次使用相同的方法(我只是在显示信息时有一个静态函数,然后在保存之前调用类似的函数),只是想知道是否有人有更好的解决方案。

感谢 马克

+0

我需要类似的东西。实际上确实如此。 – melancia 2013-04-24 12:05:39

回答

1

您可以使用Html.EditorFor和Html.DisplayFor与日期时间自定义的模板。你仍然需要自定义粘合剂。

+0

谢谢卢卡什。我认为这可能是该方法,我已经使用自定义编辑器的日期和时间分离,以便我可以使用jQuery DAte和时间选择器。只是想要一些反馈,以确保我在做什么将被视为MVC框架中的最佳做法。 – 2011-02-09 23:10:19