如何在WebGrid列中使用DisplayFormat数据注释?

时间:2011-06-09 20:10:29

标签: asp.net-mvc-3 razor html-helper webgrid

我的模型中有以下属性:

[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。它为什么要这样做?我可以做些什么来在WebGrid中使用DisplayFor吗?

当我尝试指定item.Date时,我收到错误“表达式树可能不包含动态操作”

1 个答案:

答案 0 :(得分:-1)

尝试使用此代码段而不是现在的代码:

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