Asp.net Mvc4 GridMvc 在列中转换日期时间.添加()

本文关键字:时间 日期 添加 转换 Mvc4 net GridMvc Asp | 更新日期: 2023-09-27 18:32:18

我在 ASP.NET MVC4应用程序中使用GridMvc 3.0.0。我在网格中添加了列。该字段采用日期时间格式:

@Html.Grid(Model).Columns(columns =>
    {
        columns.Add(c => c.Date).Titled("Date").Filterable(true);
    }).WithPaging(5).Sortable(true).Selectable(false)

它从SQL读取数据,所以我27/11/14 12:00:00 AM这个日期。我想要的只是将其转换为dd/MM/yyyy,我尝试这样做:

columns.Add(c => DateTime.Parse(c.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture)).Titled("Date").Filterable(true);

但它没有用。最好的方法是什么?

Asp.net Mvc4 GridMvc 在列中转换日期时间.添加()

有点晚了,但你可以使用格式函数,如

col.Add(c => c.Date).Format("{0:dd/MM/yyyy}").Titled("Your Date");

避免此问题的一种方法是在视图模型中添加一个派生属性:

public class MyViewModel {
    public DateTime Date { get; set; }
    public string DisplayedDate
    {
        get
        {
            return Date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
        }
    }
}

然后调用这个新属性而不是第一个:

@Html.Grid(Model).Columns(columns =>
    {
        columns.Add(c => c.DisplayedDate)
            .Titled("Date").Filterable(true);
    }).WithPaging(5).Sortable(true).Selectable(false)