【问题标题】:bindmodel vs createmodel asp mvc 3bindmodel vs createmodel asp mvc 3
【发布时间】:2012-06-25 14:43:26
【问题描述】:

我正在用 Asp 开发我的第一个应用程序。我正在使用环境 Asp.NET MVC 3。 我有一个具有单个参数的控制器动作。该参数的类型是复杂对象。

public ActionResult MyAction(ComplexObj obj) {
    //TODO: using obj
}

我正在使用 ModelBinder 类。但我不确定是否应该重写 BindModel 函数或 CreateModel 函数。

这两个函数有什么区别,什么时候被rooter精确使用。

谢谢!

【问题讨论】:

  • 为什么要使用自定义模型绑定器?

标签: asp.net-mvc-3 controller model-binding defaultmodelbinder modelbinder


【解决方案1】:

这两个函数有什么区别? 完全由 rooter 使用。

BindModel 是在模型绑定过程中完成所有工作的主要方法,它调用CreateModel 方法以根据传递的类型提供模型的实例。 CreateModel方法检查模型类型是dictionary还是list还是简单模型,最后调用返回一个实例,

Activator.CreateInstance(typeToCreate);

通常您必须重写BindModel 方法,除非您说出您的要求,否则很难说要重写哪个方法。如果您只关心覆盖模型实例的创建方式,那么您必须选择CreateModel

【讨论】:

  • 想你的答案。我尝试使用“F11”进入方法 BindModel。这是不可能的,因为我没有实现。您可以理解我是 C# 的初学者:-/ 我如何自己发现这些有用的信息(BindModel 调用 CreateModel)?
猜你喜欢
  • 1970-01-01
  • 2011-12-18
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
相关资源
最近更新 更多