【问题标题】:GridView in ASP.net using wrong date format MM/DD/YYYY instead of DD/MM/YYYYASP.net 中的 GridView 使用错误的日期格式 MM/DD/YYYY 而不是 DD/MM/YYYY
【发布时间】:2009-09-10 14:22:55
【问题描述】:

我在 ASP.net 中有一个从 SqlDataSource 填充的 GridView。

DB 表中的一列是设置为 30/04/2009 的日期时间,当我在 asp 中显示网格视图时,它显示为 30/04/2009。(这很好)

但是,当我在网格视图的行上点击编辑,然后在不更改日期的情况下点击更新时,我得到一个 SQL 错误,它基本上说日期格式是错误的。这是因为它认为 30 指的是月份而不是日期。

我尝试通过设置

来解决这个问题

但没有效果。

有什么想法吗?

【问题讨论】:

  • 更新参数的类型是什么? (日期时间、字符串还是未声明?)

标签: asp.net


【解决方案1】:

当日期绑定到 GridView 时,它已经是 String 并且不再是 DateTime。建议您将列的DataFormatString 设置为{0:d},它将根据页面UI 显示日期。

【讨论】:

    【解决方案2】:

    很可能不是页面的文化,而是 SQL Server 中的文化设置导致问题。

    【讨论】:

    • 但它似乎在数据库中工作正常,例如我可以将日期 30/04/09 添加到数据库中的列但我不能添加 04/30/09
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多