我想基于选定的值创建某种类型的实例,因此我使用jquery.ajax()方法通过url将该类型的名称作为字符串传递给web api控制器方法,在该方法中我使用反射创建该类型的实例。
但我对这种方法持保留态度。
我知道我可以使用自定义的TypeConverter
或[FromUri]
属性实现ModelBinding
。并传递一些数据来初始化对象字段。
问题是我的类型有默认的空构造函数,它不需要初始化任何字段。
如何通过url或http body传递复杂对象的实例,而不指定任何参数?
发布于 2013-09-03 10:22:26
您是对的,您需要实现自己的自定义模型绑定器,它将调用
Activator.CreateInstance。然后,您需要将MoldeBindingAttribute应用于您的操作。在操作本身中,您需要声明一个object类型的参数(因为您在编译时不知道该类型)。这是实现您的需求的唯一方法。
https://stackoverflow.com/questions/18589515
复制