我在控制器POST操作上有一个自定义模型绑定器:
public ActionResult Detail(IProduct model)
详细信息实际上传递的是FooProduct
,它继承自Product: IProduct
在模型绑定器中我有BindModel()方法
bindingContext.ModelType是IProduct
。
当我检查ControllerContext或BindingContext时,如果IP产品的具体类型是FooProduct
或BarProduct
,我找不到任何让我知道的东西。
我怎样才能找到这个?
我可以解决这个问题,但我对如何正确解决这个问题感到好奇。
答案 0 :(得分:1)
您只有两个选项:
1)在您的请求中添加其他字段(查询字符串,表单字段...),以标识模型的类型。
2)检查所有字段并尝试确定指定值所需的子类。
活页夹本身没有请求和请求类型(IProduct)以外的信息,因此您必须根据此输入做出决定。