如何在ASP.NET GridView列中将DateTime格式化为短日期格式?
解决ASP.NET GridView DateTime列仅显示日期的问题
你遇到的问题核心是没设置HtmlEncode="False"——默认情况下GridView的BoundField会启用Html编码,导致你配置的DataFormatString无法生效。
以下是两种可行的解决方案:
1. 使用BoundField配置
直接在BoundField标签里同时设置格式和关闭Html编码:
<asp:BoundField DataField="你的日期列名" HeaderText="日期" DataFormatString="{0:yyyy.MM.dd}" HtmlEncode="False" />
2. 使用TemplateField绑定
如果是模板列的形式,直接在Eval绑定阶段指定格式即可,无需额外编码设置:
<asp:TemplateField HeaderText="日期"> <ItemTemplate> <%# Eval("你的日期列名", "{0:yyyy.MM.dd}") %> </ItemTemplate> </asp:TemplateField>
补充说明:即便你的数据源中DateTime值包含时间部分,只要格式设置正确,就只会显示你指定的yyyy.MM.dd格式日期。之前配置失效的原因就是默认Html编码阻断了格式解析,关闭该选项后格式就能正常生效。
内容的提问来源于stack exchange,提问作者rodro
相关产品推荐
相关产品推荐

