我寫了一個抽象類PaymentMethod
和2派生類,PaymentMethodInvoice
和PaymentMethodBilling
。對於他們每個我寫共享EditorTemplates。 GET工作正常,我選擇了我的PaymentMethod並獲得正確的表單。如果我POST這個表單的模型綁定不起作用,它會嘗試實例化抽象類PaymentMethod
。Asp.net MVC模型綁定派生類
我必須重寫CreateModel(protected override object CreateModel
)[1]還是有更好的解決方案來處理這個問題?
[1] MVC 3 Model Binding a Sub Type (Abstract Class or Interface)
這裏有什麼模式,你逝去的是什麼參數,POST操作的自定義模型綁定? – Imad
是的,你需要創建一個自定義'ModelBinder' –
@Imad PaymentMethod是ContractViewModel的屬性 – mlauth