我試圖爲我的模型中的對象設置數據註釋驗證,並且它有特殊的需要。我必須採取一些額外的屬性,我將它們加入並將它們結合起來,以獲得一個不動產的價值。比如我有一個基本對象:數據註解和元數據類型和「拼接值」
Task {
public DateTime? Due
}
但我的形式有以下字段:
Task.DueDate
Task.DueTimeHour
Task.DueTimeMinute
Task.DueTimePostfix
所以,我想:
Task {
public string DueDate
public string DueTimeHour
public string DueTimeMinute
public string DueTimePostfix
}
其中一期工程,但我想要的模型自動填充Due
的值和所有其他值的解析值。我不知道該怎麼做。
我將不得不重寫元數據夥伴類中的Due
的getter/setters,但該類不會意識到我給原始類的額外屬性。另外我有一種感覺,如果我把這些弄亂了,我將會從數據庫中檢索真正的值。
所以我希望有人在這裏可能有一個想法,我如何能夠完成我想要的。如果我完全錯了,我會很高興被引導回正確的道路上。
在此先感謝您的任何建議!
UPDATE
所以,我可能已經通過具有兩個原始類和元數據的好友類從含有所有屬性另一個基類延伸找到的所述第一部分中的溶液。因此這兩個類都可以看到屬性並可以使用它們。
現在,我很難根據其他屬性設置Due
屬性的值。幫助將在這方面讚賞。
你可能會做些什麼。額外的屬性'DueDate','DueTimeHour','DueTimeMinute'和'DueTimePostfix'只在POST時填充,我想將它們拼接在一起形成'Due'。所以,這是他們唯一使用的時間。當我從數據庫中讀取數據時,它應該進入正常流程,我只使用'Task.Due'。 – Gup3rSuR4c 2010-10-18 09:44:57
好的,所以我嘗試了你的解決方案,並且看起來很好,它不起作用,因爲DateTime.Date是一個只讀屬性,因此我無法操作它。我需要根據我在其他屬性中可能具有的值創建完整的DateTime對象。 – Gup3rSuR4c 2010-10-18 15:16:09