在我们平时的工作开发中,我们通常会遇到这样的一个问题:某个实体的某个字段是DateTime类型的,可是我们在界面上只想让它显示日期不显示时间!
一个订单实体:
很简单的前台代码:
后台方法:
效果图:
效果图:
一个订单实体:
//订单类
public class order
{
//订单ID
public int id{get;set;}
//物品ID
public int resId{get;set;}
//物品名称
public string resName { get; set; }
//物品价格
public decimal price { get; set; }
//订购数量
public int number { get; set; }
//订购日期
public DateTime orderDate { get; set; }
}
很简单的前台代码:
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gw" runat ="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="订单ID" />
<asp:BoundField DataField="resId" HeaderText="物品ID" />
<asp:BoundField DataField="resName" HeaderText="物品名称" />
<asp:BoundField DataField="price" HeaderText="物品单价" />
<asp:BoundField DataField="number" HeaderText="物品数量" />
<asp:BoundField DataField="orderDate" HeaderText="订购日期"/>
</Columns>
</asp:GridView>
</div>
</form>
</body>
后台方法:
protected void Page_Load(object sender, EventArgs e)
{
List<order> listOrder = new List<order>();
#region 假数据,订单实体
order enOrder = new order()
{
id=1001,
resId=102002,
resName ="小熊抱枕",
price=40,
number =2,
orderDate =DateTime.Now
};
listOrder.Add(enOrder);
#endregion
//绑定数据
gw.DataSource = listOrder ;
gw.DataBind();
}
效果图:
那么我们该修改什么地方才能让我们的DateTime格式的订购日期只显示日期而不显示时间呢?
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gw" runat ="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="订单ID" />
<asp:BoundField DataField="resId" HeaderText="物品ID" />
<asp:BoundField DataField="resName" HeaderText="物品名称" />
<asp:BoundField DataField="price" HeaderText="物品单价" />
<asp:BoundField DataField="number" HeaderText="物品数量" />
<asp:BoundField DataField="orderDate" HeaderText="订购日期" DataFormatString="{0:yyyy-MM-dd}" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
效果图:
就这么简单,虽然我们实体中的字段类型是DateTime类型的,但是我们只要在前台绑定字段的时候,加入这么一句绑定格式就OK了,是不是很简单呢。