任何人都可以解释ModelName的填充位置吗?
在MSDN文档中查看,此处没有解释。 我正在创建一个自定义模型绑定器,在其中我得到以下null: var result = bindingContext.ModelName);
答案 0 :(得分:2)
ModelBindingContext对象是由调用BindModel()方法的人创建和填充的。如果模型作为action方法的参数进入,则由ControllerActionInvoker.GetParameterValue()完成,ModelName属性将设置为参数的名称(除非被[Bind(Prefix = ...)覆盖) ])。
如果通过UpdateModel()更新模型,则ModelBindingContext对象由UpdateModel()方法本身创建。 ModelName参数将是传递给UpdateModel()的前缀参数。