【问题标题】:Changing the type of list items using a CustomModelBinder使用 CustomModelBinder 更改列表项的类型
【发布时间】:2011-06-28 13:27:46
【问题描述】:

我需要绑定一个具有 List 作为属性的“字段”类型的实体。该列表将具有混合类型的行为,但都继承自 Behaviour。我需要列表与正确的派生类型绑定,以便它们可以正确持久化。

我正在使用 MvcContrib 库的 DerivedTypesModelBinder 中使用的技术,据此我的每个实体都有一个属性,该属性包含需要创建的类型。该字段称为“XxModelTypexX”。

我的问题是,我不确定如何更改自定义模型绑定器中的属性类型。每次我尝试它时,它都会简单地绑定一个通用的行为列表。

任何帮助将不胜感激。

【问题讨论】:

    标签: model-view-controller asp.net-mvc-3


    【解决方案1】:

    好的,所以我想通了。基本上即使 Behavior 列表是 Field 上的一个属性,您仍然必须将其添加到 Global.asax 文件中使用自定义模型绑定器的类型列表中

    System.Web.Mvc.ModelBinders.Binders.Add(typeof(Types.Behaviour), new ConcreteTypeModelBinder());
    

    有了这行代码,我已经工作了一个享受的类型更改代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      相关资源
      最近更新 更多