在aspx页面中,我绑定了这样的标签:
<asp:TemplateField HeaderText="Date of Joining">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Eval("date_of_joining") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Paid Priviledge Date">
<ItemTemplate>
<asp:Label ID="Label8" runat="server"
Text='<%# Eval("paid_priviledge_date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
在后面的代码我绑定网格视图像这样:(给出最小代码)
GridView1.DataSource = dt2;
GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)
但gridview列显示如下日期:
4/12/2011 12:00:00 AM
4/4/2011 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)
请建议如何删除时间戳部分并仅显示日期部分.
我知道如何通过使用ToString和SubString格式化来完成此操作.但我无法在gridview中执行此操作.
ili*_*ian 25
您可以为eval语句指定格式字符串:
Eval("date_of_joining", "{0:dd/MM/yyyy}")
Run Code Online (Sandbox Code Playgroud)
Cha*_*ell 11
FormatDate在代码隐藏中创建一个方法,并从gridview中调用它.
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
http://www.csharp-examples.net/string-format-datetime/
这部分将介绍你的代码
private object FormatDate(DateTime input)
{
return String.Format("{0:MM/dd/yy}", input);
}
Run Code Online (Sandbox Code Playgroud)
这一点将进入你的标记
<asp:TemplateField HeaderText="Date of Joining">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# FormatDate(Eval("date_of_joining")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Paid Priviledge Date">
<ItemTemplate>
<asp:Label ID="Label8" runat="server"
Text='<%# FormatDate(Eval("paid_priviledge_date")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
这就是我所说的DRY方法.如果您需要以任何方式修改格式.您可以简单地编辑方法背后的代码,它会降低您对所有标记的甜蜜爱.
使用"{0:d}"短日期格式.尝试
Text='<%# Eval("paid_priviledge_date","{0:d}") %>'
Run Code Online (Sandbox Code Playgroud)
和
Text='<%# Eval("date_of_joining", "{0:d}") %>'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38143 次 |
| 最近记录: |