如何在mvc web网格中格式化日期

kan*_*oid 17 asp.net-mvc webgrid

我有一个网格,我没有使用剃刀syntex.Rather我使用的是.aspx表单.代码如下;

<%
    var grid = new WebGrid(Model,defaultSort:"PublishDate",rowsPerPage:10);
    %>
    <%: 
       grid.GetHtml(
                          tableStyle: "wGrid",
                            headerStyle: "wGridHeader",
                    alternatingRowStyle: "alt",
                    columns: grid.Columns(
                    grid.Column("Title", canSort: false),
                    grid.Column("PublishDate", "Published on"),
                    grid.Column("CategoryName", "Category"),
                    grid.Column(format: (item) => Html.ActionLink("Details", "Browse", new { id = item.Title }))
                  )
               )
    %>
Run Code Online (Sandbox Code Playgroud)

现在我想将'PublishDate'列格式化为'dd-MMM-yyyy'.知道怎么做吗?

Dar*_*rov 41

grid.Column(
    "PublishDate", 
    "Published on",
    format: (item) => string.Format("{0:dd-MMM-yyyy}", item.PublishDate)
)
Run Code Online (Sandbox Code Playgroud)


May*_*ank 11

如果DateTime属性定义为(可以包含null):

public DateTime? WorkedDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

使用以下格式:

grid.Column("WorkedDate", "Last Worked On",
   format: (item) => item.WorkedDate != null 
   ? item.WorkedDate.ToString("MM/dd/yy") : "", canSort: true)
Run Code Online (Sandbox Code Playgroud)

否则,如果它定义如下(不能为null),它将具有实际日期或.MinDate作为默认值.

public DateTime WorkedDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

使用格式:

grid.Column("WorkedDate", "Last Worked On",
   format: (item) => item.WorkedDate != DateTime.MinValue ? 
   item.WorkedDate.ToString("MM/dd/yy") : "", canSort: true)
Run Code Online (Sandbox Code Playgroud)


小智 5

这适用于我,并允许Null值

grid.Column("End_Date",format: item => ((item.End_Date == null) ? "" : item.End_Date.ToString("MM/dd/yyyy"))),
Run Code Online (Sandbox Code Playgroud)