从SQLDataSource修改日期/时间
本文关键字:时间 日期 修改 SQLDataSource | 更新日期: 2023-09-27 18:23:57
我的数据库中有一个日期列,它不是日期-时间,所以值没有附加时间。
但是,当我在页面上拖放SQLDataSource并将dropdownlist
绑定到它以显示日期时,它会自动添加时间12:00:00 AM
。
我知道它为什么这么做,但我不知道如何摆脱它。我需要从代码绑定吗?
有简单的解决办法吗?
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#将其视为字符串。