我在.net核心中構建了一個動態表單創建器。一個「表單」將包含許多不同的表單元素。所以表格模型將是這個樣子:張貼清單<Interface> .net核心1.0
public class FormModel {
public string FormName {get;set;}
public List<IElements> Elements{get;set;}
}
我有類TextBoxElement
,TextAreaElement
,CheckBoxElement
全部實現IElemets
接口。我有每個元素EditorTemplates
。用於渲染表單的代碼很有用。儘管張貼表單不起作用,因爲接口的List
。
我一直在尋找如何實現自定義模型聯編程序,並在網絡上看到一些例子,但我沒有得到任何人的工作。
如果有人能告訴我如何爲本示例實現自定義模型聯編程序,我將不勝感激。
B計劃: 將表單作爲json發佈到web api並讓JSON.Net將其隱藏。我已經嘗試過,它的工作。在startup.cs我補充說:
services.AddMvc().AddJsonOptions(opts => opts.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto);
它返回類型,當它必須,例如。元素列表中的對象,但不在FormModel上。但我真的很想知道如何用自定義模型綁定器來解決它。
模型綁定怎麼知道實例張貼在列表中的元素哪些類型? – Lucero
不知道爲什麼有人投這個票。我想你將不得不發佈一些額外的信息,讓你的自定義模型聯編程序知道什麼類的實例化。 –
我認爲JSON。NET可以通過序列化/反序列化類型名稱來處理類型。如果您使用JSON,那麼也許您可以利用一些方法。 –