我有一个具有通用属性的模型,类似于:
class PairedData<T>
{
public T Value {get;set;}
public bool IsValid {get;set;}
}
在我的模型中:
class SomeModel
{
[UIHint ("PairedInt")]
public PairedData<int> SomeInt {get;set;}
[UIHint ("PairedDateTime")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}"]
public PairedData<DateTime> SomeDate {get;set;}
}
然后在我的 PairedDateTime 显示模板中,我有:
@model PairedData<DateTime>
@Html.DisplayFor(m => m.Value)
问题是 DisplayFor 不应用日期格式。原因很明显 - DisplayFormat 属性位于 SomeDate,而不是 Value 属性,因此未被读取。
所以问题是,有没有办法告诉 DisplayFor 从其他地方读取属性?或者有没有办法在显示模板中手动将相同的信息传递给 DisplayFor?或者有没有办法仅在 DateTime 实例化中将属性应用于 Value (我认为不太可能)?
提前致谢。