我将在我的ASP.NET MVC3应用程序中添加对不同时区的支持。
解决方案是以UTC时间存储日期值,并存储用户时区偏移量。
所以,我需要两件事:
在“用户时间”向用户发送日期值(很明显,我将日期传递给将时间转换为用户时间的包装器)
在“用户时间”中从用户检索日期并将其转换为UTC。
问题是 - 将所有输入日期值转换为UTC时间的好方法是什么。或者是否有一种将一些转换规则添加到ASP.NET MVC的通用方法?
这是我想要的理想架构(控制器接收已转换的值)
答案 0 :(得分:2)
一种方法可以是创建自己的ModelBinder,为控制器中的操作方法执行映射和准备数据的工作。
This post from Hanselman's Blog应该让你知道我的意思。显然,我假设你可以在方法中获得所需的所有数据
BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);
就像在帖子中获取存储库或隐藏字段的用户时区一样。