将DisplayTemplate设置为WebGrid列

我有这个样本

@Html.DisplayFor(modelItem => item.Expires, "DateTimeToDate" ) 

DateTimeToDate显示模板:

 @model DateTime? @Html.Label(Model.HasValue ? Model.Value.ToShortDateString(): string.Empty) 

 ... grid.Column("Expires", @Resources.Localization.Expires, canSort: true) ... 

那么,我如何在webgrid列中使用DisplayTemplate?

regrads。

如果视图模型的Expires属性是DateTime,并且您有自定义显示模板,则可以尝试以下操作:

 grid.Column("Expires", format: @@Html.DisplayFor(x => item)) 

这应该为视图模型中每个项目的Expires属性呈现~/Views/Shared/DisplayTemplates/DateTime.cshtml

这是一个适合我的片段,你需要根据自己的情况调整它。

 WebGridColumn adminColumn = grid.Column(columnName: string.Empty, header: string.Empty, format: (item) => new HtmlString(Html.ActionLink("Edit", "Edit", new { id = item.Id }, null).ToString() + "|" + Html.ActionLink("Delete", "Delete", new { id = item.Id }, null).ToString())); columns.Add(adminColumn); 

我发现这篇文章完全符合您的需求我猜…

太糟糕了,当你问这个问题时,还没有写好!