我有這是一個通用的看起來像一個屬性的模型:ASP.NET MVC手動應用DisplayFormat
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?或者是否有一種方法可以將屬性應用於Value僅在DateTime實例化中(不太可能,我認爲)?
在此先感謝。
謝謝 - 這將在這種特定的情況下。我仍然對更一般的方法感興趣。 –
請看我的編輯 – jomsk1e
其實,這似乎並不奏效。字符串參數是模板名稱,而不是日期格式。 我沒有看到關於格式的鏈接文章中的任何內容。 –