【问题标题】:ASP.NET MVC3 Best way to customize converting input parametersASP.NET MVC3 自定义转换输入参数的最佳方式
【发布时间】:2012-04-18 01:10:20
【问题描述】:

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

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

所以,我需要两件事:

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

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

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

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

【问题讨论】:

  • 如何知道用户的时区?
  • 与问题无关。假设我知道。 F.e.一些静态变量。
  • 好的,我可以从 javascirpt 代码 (-new Date().getTimezoneOffset()) 中获取时区偏移量并将其发布到服务器。

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


【解决方案1】:

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

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

BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);

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

【讨论】:

    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 2017-09-19
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 2014-03-14
    相关资源
    最近更新 更多