Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何调用defaultmodelbinder来创建接口的实现?_Asp.net Mvc_Model Binding - Fatal编程技术网

Asp.net mvc 如何调用defaultmodelbinder来创建接口的实现?

Asp.net mvc 如何调用defaultmodelbinder来创建接口的实现?,asp.net-mvc,model-binding,Asp.net Mvc,Model Binding,我有一个与实现它的一些类的接口。我需要为该接口定义一个modelbinder,因为我要传入一个接口对象列表 defaultmodelbinder可以很好地绑定混凝土类。是否有一种方法可以调用defaultmodelbinder并告诉它要创建什么类型?如果我理解正确,您可以实现一个新的ModelBinderProvider,并在那里决定为每种类型的具体类调用哪种ModelBinder。另一种方法是编写自己的ModelBinder,扩展DefaultModelBinder并重写BindModel方法

我有一个与实现它的一些类的接口。我需要为该接口定义一个modelbinder,因为我要传入一个接口对象列表


defaultmodelbinder可以很好地绑定混凝土类。是否有一种方法可以调用defaultmodelbinder并告诉它要创建什么类型?

如果我理解正确,您可以实现一个新的ModelBinderProvider,并在那里决定为每种类型的具体类调用哪种ModelBinder。另一种方法是编写自己的ModelBinder,扩展DefaultModelBinder并重写BindModel方法。在它中,您可以根据您拥有的逻辑使用所需的模型调用super.BindModel。

我能够使用以下问题中描述的解决方案实现这一点:


结果是我需要重写CreateModel方法。

我如何告诉base.BindModel尝试创建哪个具体类?我是否只使用返回值?