【问题标题】:String parameter being interpreted as date字符串参数被解释为日期
【发布时间】:2015-11-07 15:12:40
【问题描述】:

我正在尝试将字符串参数从 Javascript 传递到 .NET MVC 程序中的控制器方法,并将其解释为沿途某处的日期,并重新格式化。我希望它停止,或者至少让它正确。

我在 Javascript 文件中有这一行:

window.open(viewUrl + "?fromDate=" + fromDates[pointIndex] + "&toDate=" + toDates[pointIndex]

firebug 中的断点告诉我有这个:

但是当它碰到控制器时,它看起来像这样:

除了从 10 月 1 日到 1 月 10 日之间的某个时间点,这一切都很好。我不能依赖浏览器设置,因为它可以在多个国家/地区/文化中使用,如果 fromdates[pointIndex] 的值是 YYYY-MM-DD 的形式,它会做同样的事情。

我怎样才能让它停止重新格式化字符串并像在 Javascript 数组中一样传递它?

【问题讨论】:

  • 处理请求的动作的签名是什么?
  • 看起来像这样public GridResult<TimesheetPivotedGridRow> GetAllTime(string fromDate, string toDate, GridDataFetchParams gridParams)。最后一个参数被很好地传递,两个字符串正在重新格式化日期

标签: javascript c# asp.net


【解决方案1】:

10 月 1 日到 1 月 10 日的日期没有变化,但格式从“dd/MMM/yyyy”更改为“MM/DD/YYYY”

试试

fromDates[pointIndex].toString()
toDates[pointIndex].toString()

或者您可以使用类似 moment 的库以特定格式传递它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多