asp 之 讓實體中欄位類型為DateTime的欄位只顯示日期不顯示時間,實體datetime
在我們平時的工作開發中,我們通常會遇到這樣的一個問題:某個實體的某個欄位是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了,是不是很簡單呢。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。