ModelBindingContext 模型名称

Noe*_*oel 5 asp.net-mvc binding asp.net-mvc-2

谁能解释一下 ModelName 是从哪里填充的?

看了一下MSDN文档,没有任何解释。我正在创建一个自定义模型绑定程序,在其中我得到以下内容的 null: var result = bindingContext.ModelName);

Lev*_*evi 3

ModelBindingContext 对象由调用 BindModel() 方法的任何人创建和填充。如果模型作为操作方法的参数传入,则这是通过 ControllerActionInvoker.GetParameterValue() 完成的,并且 ModelName 属性将设置为参数的名称(除非被 [Bind(Prefix = ... ) 覆盖) ])。

如果通过 UpdateModel() 更新模型,则 ModelBindingContext 对象由 UpdateModel() 方法本身创建。ModelName 参数将是传递给 UpdateModel() 的前缀参数。

  • 当我将这行代码放入自定义模型绑定程序时,结果为空,因为模型名称为空。var 结果 = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); 如何从 valueprovider 获取值?这可以通过其他方式完成吗 - 基本上是希望从中获取表单或查询值。谢谢 (3认同)