5

我在 WebGrid 的语法 gremlins 中挣扎。在我的普通剃须刀标记中,我像这样在我的 foreach 中格式化日期

<td>
        @String.Format("{0:MM/dd/yy hh:mm:ss}", item.complianceedatetime)
    </td>

我像这样设置我的列宽

<th width="150px">
        Download Date/Time
    </th>

我将如何使用 Grid.Column 语法来做到这一点

grid.Column("complianceedatetime", "Download Date/Time", ?, ?)
4

4 回答 4

8
@grid.GetHtml(
    column: grid.Columns(
              grid.Column("Complianceedatetime", "Download Date / Time", 
format: @<text>@item.complianceedatetime.ToString("MM/dd/yy hh:mm:ss")</text>)
            )
)

我知道这行得通,因为我的项目中有这个确切的代码:

grid.Column(
            "PublishDate",
            canSort: true,
            format: @<text>@item.PublishDate.ToString("MM/dd/yyyy")</text>
        ),
于 2011-08-28T15:06:02.500 回答
3

如果DateTimeProperty 定义为(可以包含null):

public DateTime? WorkedDate { get; set; }

使用这种格式:

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

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

public DateTime WorkedDate { get; set; }

使用格式:

grid.Column("WorkedDate", "Last Worked On",
   format: (item) => item.WorkedDate != DateTime.MinValue ? 
   item.WorkedDate.ToString("MM/dd/yy") : "", canSort: true)
于 2012-08-11T11:13:59.937 回答
1

你可以试试这个:

@grid.GetHtml(
    column: grid.Columns(
              grid.Column("Complianceedatetime", "Download Date / Time", format: (item) => string.Format("{0:MM/dd/yy hh:mm:ss}", item.complianceedatetime)
            )
)
于 2011-04-14T05:06:51.493 回答
0

尝试此选项以获得更好的全球化

    @grid.GetHtml(
        列:grid.Columns(
                  grid.Column("Complianceedatetime", "下载日期/时间",
                  格式:@@String.Format("{0:g}",complianceedatetime))
                )
    )
于 2011-05-16T15:43:46.257 回答