0

我想根据选定的值创建某种类型的实例,所以我使用 jquery.ajax() 方法通过 url 将此类型的名称作为字符串传递给 web api 控制器方法,在那里我使用反射创建这种类型的实例。

但我对这种方法感到担忧。

我知道我可以ModelBinding使用自定义TypeConverter[FromUri]属性来实现。并传递一些数据来初始化对象字段。

问题是我的类型有默认的空构造函数,它不需要初始化任何字段。

如何在不指定任何参数的情况下通过 url 或 http 正文传递复杂对象的实例?

4

1 回答 1

0

没错,您需要实现自己的自定义模型绑定器,它将调用
Activator.CreateInstance。然后,您需要将 MoldeBindingAttribute 应用于您的操作。在动作本身中,您需要声明对象类型的参数(因为您在编译时不知道类型)。这是满足您的要求的唯一方法。

于 2013-09-03T10:22:25.750 回答