如何在ASP.NET MVC控制器参数中将毫秒转换为DateTime

安德鲁斯

Gant图表将以毫秒为单位的时间传递给MVC4控制器。下面的代码打印出1440190800000

$(".gantt").gantt({
    onAddClick: function (dt, rowId) {
        alert(dt);
        window.location.href='NewBooking?' + $.param({
            datetime: dt,
            row: rowId
        });
    },

MVC4控制器具有签名:

public ActionResult NewBooking(DateTime datetime, string row)
{
    var m = new NewBookingViewModel();
    return View(m);
}

调用此控制器会导致错误

The parameters dictionary contains a null entry for parameter 'datetime' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.ActionResult NewBooking(System.DateTime, System.String)' in 'Eeva.Erp.Controllers.BookingController'. An optional parameter must be a 
since milliseconds are not contverted to datetime.

如何在控制器代码或javascript中解决此问题以获得DateTime值?

达林·迪米特罗夫(Darin Dimitrov)

毫秒不能代表日期。毫秒是用于测量持续时间的单位。因此,询问如何将持续时间转换为DateTime C#对象没有任何意义。

另一方面,自时间中某个固定日期(例如The Epoch)可以表示DateTime以来经过的毫秒数我不熟悉您使用的客户端库以及这些毫秒代表什么,但是出于本示例的目的,让我们假设它们代表自1970年1月1日UTC时间以来经过的毫秒数。在这种情况下,您可以简单地将其转换为相应的DateTime对象:

public DateTime FromUnixTime(long unixTime)
{
    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return epoch.AddMilliseconds(unixTime);
}

进而:

public ActionResult NewBooking(long datetime, string row)
{
    DateTime someDate = FromUnixTime(datetime);
    var m = new NewBookingViewModel();
    return View(m);
}

显然,可以进一步改进此代码,以便在自定义模型绑定程序中进行此转换,然后您的控制器操作可以直接采用DateTime对象参数。

因此,现在取决于您和您所使用的js库的文档,以详细说明将这些毫秒转换为DateTime的精确算法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ASP.NET MVC中将多个参数从jquery发布到控制器?

来自分类Dev

如何在ASP .NET MVC中将特定行的值传递给控制器方法

来自分类Dev

如何在asp.net mvc 中将复杂模型传递回控制器

来自分类Dev

如何在ASP.NET MVC中使用routeValue参数调用控制器操作

来自分类Dev

如何在JSON.NET中将其作为ASP.NET MVC控制器的模型绑定器?

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

如何在ASP.NET MVC4 Api控制器中将视图呈现为字符串

来自分类Dev

如何在ASP.NET MVC 5控制器上从JSON反序列化为抽象参数

来自分类Dev

如何在ASP.NET MVC4中使用通用参数制作通用基本控制器

来自分类Dev

如何在ASP.NET MVC 4中将查询字符串参数转换为路由

来自分类Dev

如何在ASP.net中将byte []转换为ObjectParameter

来自分类Dev

如何在ASP.NET Core Web API中将新控制器设置为默认控制器

来自分类Dev

如何在URL中更改ASP.NET MVC控制器名称?

来自分类Dev

如何在asp.net-mvc控制器中集中授权逻辑?

来自分类Dev

如何在控制器ASP.NET MVC 5上禁用默认路由

来自分类Dev

如何在ASP.NET MVC控制器中获取过帐的表单数据

来自分类Dev

如何在ASP.Net的MVC控制器中使用File类?

来自分类Dev

如何在asp.net mvc中的URL中更改控制器名称

来自分类Dev

ASP.NET MVC EntityFramework:如何在ActionResult控制器方法中使用LINQ?

来自分类Dev

如何在ASP.NET MVC控制器中获取URL

来自分类Dev

如何在ASP.NET MVC控制器中使用Automapper配置

来自分类Dev

如何在ASP.NET MVC控制器中编写HTML代码

来自分类Dev

如何在ASP.NET MVC中的控制器中调用模型方法

来自分类Dev

如何在使用ASP .NET MVC的方法之间正确共享控制器中的对象?

来自分类Dev

ASP.Net MVC如何在控制器操作中从布局访问隐藏字段

来自分类Dev

如何在ASP.NET MVC 6中添加基本控制器

来自分类Dev

ASP.NET MVC EntityFramework:如何在ActionResult控制器方法中使用LINQ?

来自分类Dev

如何在ASP.NET MVC的控制器方法中“不要重复自己”?

Related 相关文章

  1. 1

    如何在ASP.NET MVC中将多个参数从jquery发布到控制器?

  2. 2

    如何在ASP .NET MVC中将特定行的值传递给控制器方法

  3. 3

    如何在asp.net mvc 中将复杂模型传递回控制器

  4. 4

    如何在ASP.NET MVC中使用routeValue参数调用控制器操作

  5. 5

    如何在JSON.NET中将其作为ASP.NET MVC控制器的模型绑定器?

  6. 6

    将Asp.Net MVC控制器转换为Web API的最佳方法

  7. 7

    将Asp.Net MVC控制器转换为Web API的最佳方法

  8. 8

    如何在ASP.NET MVC4 Api控制器中将视图呈现为字符串

  9. 9

    如何在ASP.NET MVC 5控制器上从JSON反序列化为抽象参数

  10. 10

    如何在ASP.NET MVC4中使用通用参数制作通用基本控制器

  11. 11

    如何在ASP.NET MVC 4中将查询字符串参数转换为路由

  12. 12

    如何在ASP.net中将byte []转换为ObjectParameter

  13. 13

    如何在ASP.NET Core Web API中将新控制器设置为默认控制器

  14. 14

    如何在URL中更改ASP.NET MVC控制器名称?

  15. 15

    如何在asp.net-mvc控制器中集中授权逻辑?

  16. 16

    如何在控制器ASP.NET MVC 5上禁用默认路由

  17. 17

    如何在ASP.NET MVC控制器中获取过帐的表单数据

  18. 18

    如何在ASP.Net的MVC控制器中使用File类?

  19. 19

    如何在asp.net mvc中的URL中更改控制器名称

  20. 20

    ASP.NET MVC EntityFramework:如何在ActionResult控制器方法中使用LINQ?

  21. 21

    如何在ASP.NET MVC控制器中获取URL

  22. 22

    如何在ASP.NET MVC控制器中使用Automapper配置

  23. 23

    如何在ASP.NET MVC控制器中编写HTML代码

  24. 24

    如何在ASP.NET MVC中的控制器中调用模型方法

  25. 25

    如何在使用ASP .NET MVC的方法之间正确共享控制器中的对象?

  26. 26

    ASP.Net MVC如何在控制器操作中从布局访问隐藏字段

  27. 27

    如何在ASP.NET MVC 6中添加基本控制器

  28. 28

    ASP.NET MVC EntityFramework:如何在ActionResult控制器方法中使用LINQ?

  29. 29

    如何在ASP.NET MVC的控制器方法中“不要重复自己”?

热门标签

归档