追加到子類MVC3模型的白名單中我使用白名單將查詢字符串/表單值綁定到我的模型。這是通過:使用BindAttribute
[Bind(Include = "Size,Color,Age,SizeOfTeeth")]
public class AnimalModel { ... }
但說我有一個子類的模型,叫做ElephantModel,我想保持從基類的白名單,以及一些派生類的屬性添加到它。我會怎麼做?
我想:
[Bind(Include += "TrunkLength,Personality")]
public class ElephantModel : AnimalModel { ... }
但是,當然,這是行不通的。我懷疑這實際上更像是一個「屬性」問題,而不是「綁定」問題,但我無法弄清楚使用什麼語法。
TIA!馬特
+1:我無法低估ViewModels的精彩(當然,它與視圖緊密相連),而不是使用通用領域模型(又名poco's)作爲視圖的模型。那麼說(再次)Darin :) – 2011-03-19 23:50:46
達林:欣賞你的意見。我正在使用具有所有這些屬性的輸入模型,並且執行嚴格的驗證,檢查底部發布,過量發佈,XSS向量等。這就是爲什麼我需要BindAttribute。至於AutoMapper,我不喜歡這種工具的魔力,並且只要可能,就更願意堅守老派的面向對象。 – Matt0 2011-03-20 02:42:56
Pure:傾向於接受輸入模型到我的控制器中,這應該關注域邏輯。然後控制器創建適當的視圖模型並將其傳遞給視圖。再次,老派封裝,少魔術,更容易維護。 – Matt0 2011-03-20 02:45:22