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 在ASP.NET MVC3中创建依赖项感知模型绑定器_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 2 - Fatal编程技术网

Asp.net mvc 在ASP.NET MVC3中创建依赖项感知模型绑定器

Asp.net mvc 在ASP.NET MVC3中创建依赖项感知模型绑定器,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 2,下面的代码试图创建一个支持依赖关系的模型绑定器。模型绑定器应该基于请求中的对象实例化一个对象。然而,我在下面的代码中看不到逻辑,它只在对象上实例化。此外,我尝试调试它,但没有调用CreateModel方法 此类使用应用程序范围的依赖项解析器来创建模型对象,并返回到 基类实现(如果需要),它使用System.Activator类创建模型 实例使用默认构造函数 我们必须在应用程序中注册我们的绑定器作为默认模型绑定器,我们在 Global.asax的application_Start方法,如下所示 R

下面的代码试图创建一个支持依赖关系的模型绑定器。模型绑定器应该基于请求中的对象实例化一个对象。然而,我在下面的代码中看不到逻辑,它只在对象上实例化。此外,我尝试调试它,但没有调用CreateModel方法

此类使用应用程序范围的依赖项解析器来创建模型对象,并返回到 基类实现(如果需要),它使用System.Activator类创建模型 实例使用默认构造函数

我们必须在应用程序中注册我们的绑定器作为默认模型绑定器,我们在 Global.asax的application_Start方法,如下所示

Registering a Default Model Binder



 protected void Application_Start() {
    AreaRegistration.RegisterAllAreas();
    ModelBinders.Binders.DefaultBinder = new DIModelBinder();
    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
    }

因为我定义了一个基于属性的自定义模型绑定器,它优先于DIModelBinder。

清单17-31是什么?你是从教科书上抄袭的吗?请参考我的更新。
Registering a Default Model Binder



 protected void Application_Start() {
    AreaRegistration.RegisterAllAreas();
    ModelBinders.Binders.DefaultBinder = new DIModelBinder();
    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
    }