2011-09-06 10 views
14

Mam siatkę sieci web i nie używam syntezatora maszynki do golenia. Raczej używam formularza .aspx. kod znajduje się poniżej;Jak sformatować datę w siatce internetowej mvc

<% 
    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 })) 
       ) 
       ) 
    %> 

Teraz chcę sformatować kolumnę 'PublishDate' coś jak 'DD-MMM-rrrr'. Każdy pomysł, jak to zrobić?

Odpowiedz

34
grid.Column(
    "PublishDate", 
    "Published on", 
    format: (item) => string.Format("{0:dd-MMM-yyyy}", item.PublishDate) 
) 
+0

:) cool..it był tak simple..thanks koleś. – kandroid

5

Działa to dla mnie, i pozwala na wartości Null

grid.Column("End_Date",format: item => ((item.End_Date == null) ? "" : item.End_Date.ToString("MM/dd/yyyy"))), 
+0

działa to świetnie, jeśli masz wartości null. – Crismogram

10

Jeśli DateTime obiektu jest zdefiniowany jako (może zawierać null):

public DateTime? WorkedDate { get; set; } 

Użyj tego formatu:

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

W przeciwnym razie, jeśli jest zdefiniowany jako bel ow (nie może być wartością null), będzie miała rzeczywistą datę lub .MinDate jako domyślną.

public DateTime WorkedDate { get; set; } 

Wykorzystanie format:

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

Ten pracował dla mnie:

grid.Column("Date_Of_Birth", "Date Of Birth", format: item => ((item.Date_Of_Birth == null) ? "" : item.Date_Of_Birth.ToString("MM/dd/yyyy"))) 
Powiązane problemy