首页 > 代码库 > asp 之 让实体中字段类型为DateTime的字段仅仅显示日期不显示时间

asp 之 让实体中字段类型为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; }


    }



       非常easy的前台代码:

<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了。是不是非常easy呢。




asp 之 让实体中字段类型为DateTime的字段仅仅显示日期不显示时间