【发布时间】:2018-07-03 07:03:25
【问题描述】:
我有一个从我的数据库中填充数据的网格。作为我的网格的一部分,我有一个查看按钮,它以模式形式查看记录。
我的一个记录有一个日期。当模态表单中的文本框填充日期时,它会显示如下:“2018/01/25 12:00:00 AM”
我只想显示日期而不显示时间。我已经确保在我的 SQL 表中,它只是保存的日期。
这是我网格中的列:
<asp:BoundField DataField="Date" HeaderText="Date" DataFormatString="{0:dd/MMM/yyyy}" SortExpression="Date"/>
这是我的文本框:
<asp:TextBox ID="txtDate" runat="server" placeholder="Date" class="form-control"></asp:TextBox>
我尝试了以下方法,但它不起作用:
txtDate.Text = Y.Date.ToShortDateString();
Text='<%#((DateTime)Bind("NewDate")).ToString("dd/MM/yyyy")%>'
Text='<%# Bind("JoinDate", "{0:MM-dd-yyyy}") %>'
我尝试编写 javascript 代码并限制字符,但加载时仍显示时间。
我只想在我的文本框中显示日期。
请指教。谢谢
【问题讨论】:
-
文本框与 SQL 无关,除非您存储的是字符串而不是日期。
I have made sure that inside my SQL table that it is only date being saved and it is.这是什么意思?列的类型是date?datetime但你剥夺了时间部分?还是您将日期转换为字符串? -
这意味着我已经确保我的程序不会将时间保存到 SQL 中。
-
无论如何,您都没有发布加载数据或绑定数据的代码。如果您在任何时候将日期转换为字符串,或将字符串存储在数据库中,则格式字符串将不起作用,因为您没有有可供格式化的日期。
-
这没有任何解释。如果类型是
date或datetime,格式字符串将起作用,您不必担心。如果是varchar或nvarchar,则根本没有日期,只是一个看起来像日期且无法格式化的字符串。确保您的字段使用日期类型并且在加载时不要将其转换为字符串,例如使用ToString()或将其存储在字符串属性中。顺便说一句,您还没有发布您的代码 -
类型为日期