对于我所有的模型实体,我继承了一个基类,但是当我尝试将继承的字段之一放在网格上时,它只是不显示它们。我的解决方法是在派生类上创建一个包装器属性,现在网格显示该列。
前任:
public class BaseEntity
{
public Guid RowId { get; set; }
public bool Deprecated { get; set; }
public bool Deleted { get; set; }<br/>
public DateTime DateTimeStamp { get; set; }
}
public class Foo : BaseEntity
{
public int FooId { get; set; }
public string Description{ get; set; }
}
和网格设置
@(Html.Kendo().Grid<Foo>()
.Name("Grid")
.Columns(cols =>
{
cols.Bound(c => c.FooId);
cols.Bound(c => c.Description);
cols.Bound(c => c.DateTimeStamp).Format("{0:yyyy-MM-dd HH:mm}").Title("Date/Time").Sortable(false);
.Pageable()
.Sortable()
)
为了使其工作,我必须添加一个引用基类属性的属性,如下所示:
public class Foo : BaseEntity
{
public int FooId { get; set; }
public string Description{ get; set; }
public new DateTime DateTimeStamp
{
get { return base.DateTimeStamp; }
set { base.DateTimeStamp = value; }
}
}
有什么方法可以避免在派生类上使用 wrapper 属性?
谢谢