从SQLDataSource修改日期/时间

本文关键字:时间 日期 修改 SQLDataSource | 更新日期: 2023-09-27 18:23:57

我的数据库中有一个日期列,它不是日期-时间,所以值没有附加时间。

但是,当我在页面上拖放SQLDataSource并将dropdownlist绑定到它以显示日期时,它会自动添加时间12:00:00 AM

我知道它为什么这么做,但我不知道如何摆脱它。我需要从代码绑定吗?

有简单的解决办法吗?

从SQLDataSource修改日期/时间

Set DropDownList.DataTextFormatString.

<asp:DropDownList
id="datesList"
runat="server"
dataTextFormatString="{0:dd/MM/yyyy}"/>

然后在DataBinding之后,您的控件将应用正确的格式:

为字段或列定义添加格式。例如Gridview:

<asp:boundfield datafield="Your_Date_Column" dataformatstring="{0:MMMM d, yyyy}" htmlencode="false" />

顺便说一句,另一种方法是使用ViewModel类,它只用于显示数据。在这个类中,不需要使用DateTime或其他数据类型:只有字符串。例如,您可以在这里定义一些显示默认值:如果值为null,则显示文本"UNDEFINED"或您需要的内容。在某些情况下,这种方法使您可以集中准备要显示的数据。

你能展示你的sql查询吗?它可能很有用。你是否使用convert(varchar,date,103)方法来查询

C#没有日期数据类型,尽管sql(date)数据类型中的值被转换为C#中的日期时间字段。因此,最好在sql中使用convert(varchar,date,103)将日期转换为nvarchar,尽管C#将其视为字符串。