Как я могу использовать аннотацию данных DisplayFormat в столбцах WebGrid? - PullRequest
2 голосов
/ 10 июня 2011

В моей модели есть следующее свойство:

[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime? Date { get; set; }

И я пытаюсь использовать хелпер Html.DisplayFor для использования этой спецификации в столбце WebGrid, например:

Sources.Column("Date", "As Of Date", (item) => Html.DisplayFor(x => item))

Когда я запускаю это, я получаю много дополнительной информации в столбце, и дата получается в виде даты в длинном формате, а не в желаемом коротком формате.Вывод, который я получаю, заставляет меня подозревать, что DisplayFor просматривает каждое свойство в модели и печатает его, а не просто смотрит на Date.Зачем это делать?Есть ли что-то, что я могу сделать, чтобы использовать DisplayFor в WebGrid?

Когда я пытаюсь указать item.Date, я получаю ошибку «Дерево выражений может не содержать динамическую операцию»

1 Ответ

0 голосов
/ 03 августа 2011

Попробуйте этот фрагмент кода вместо того, что у вас есть сейчас:

Sources.Column( header: "Date", format: ( item -> { return @Html.Raw(item.date.ToString("d")); }))
...