ASP.NET MVC3自定义转换输入参数的最佳方法

时间:2012-04-04 10:22:30

标签: c# asp.net .net asp.net-mvc-3 timezone

我将在我的ASP.NET MVC3应用程序中添加对不同时区的支持。

解决方案是以UTC时间存储日期值,并存储用户时区偏移量。

所以,我需要两件事:

  1. 在“用户时间”向用户发送日期值(很明显,我将日期传递给将时间转换为用户时间的包装器)

  2. 在“用户时间”中从用户检索日期并将其转换为UTC。

  3. 问题是 - 将所有输入日期值转换为UTC时间的好方法是什么。或者是否有一种将一些转换规则添加到ASP.NET MVC的通用方法?

    这是我想要的理想架构(控制器接收已转换的值)

    enter image description here

1 个答案:

答案 0 :(得分:2)

一种方法可以是创建自己的ModelBinder,为控制器中的操作方法执行映射和准备数据的工作。

This post from Hanselman's Blog应该让你知道我的意思。显然,我假设你可以在方法中获得所需的所有数据

BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);

就像在帖子中获取存储库或隐藏字段的用户时区一样。