作为参考,我已经发布了我评论中的链接内容作为答案:
如何使用 ASP.NET 2.0 在 GridView 中设置日期格式(使用 HtmlEncode 属性)
由 Peter Kellner 在 .Net 2.0、ASP.NET 2.0 中发布
(又名,DataFormatString="{0:M-dd-yyyy}" 问题)
一个非常普遍的愿望是设置 GridView 的一列以仅显示 DateTime 类型的月、日和年。问题是默认情况下,BoundField 属性的 HtmlEncode 属性(
<columns>
<asp:BoundField headertext="CreationDate" dataformatstring="{0:M-dd-yyyy}"
datafield="CreationDate" />
</columns>
您有两种选择可以按照您的预期进行这项工作。第一种选择是简单地将 HtmlEncode 设置为 false,如下所示:
<asp:GridView id="GridView1" runat="server" >
<columns>
<asp:BoundField headertext="CreationDate" dataformatstring="{0:M-dd-yyyy}"
datafield="CreationDate" HtmlEncode="false" />
</columns>
第二种选择是使列成为模板,并直接在标签或文本字段中简单地设置格式字符串,如下所示。
<asp:GridView id="GridView3" runat="server" >
<columns>
<asp:TemplateField headertext="CreationDate" >
<edititemtemplate>
<asp:Label id="Label1" runat="server" Label.Text='<%# Eval("CreationDate", "{0:M-dd-yyyy}") %>'>
</asp:Label>
</edititemtemplate>
<itemtemplate>
<asp:Label id="Label1" runat="server" Label.Text='<%# Bind("CreationDate", "{0:M-dd-yyyy}") %>'>;
</asp:Label>
</itemtemplate>
</asp:TemplateField>
</columns>
</asp>