代码之家  ›  专栏  ›  技术社区  ›  patridge jonathanpeppers

我可以在Global.asax以外的地方注册自定义模型绑定器吗?

  •  4
  • patridge jonathanpeppers  · 技术社区  · 16 年前

    将自定义模型绑定器的范围仅限于特定的控制器操作方法或其整个控制器是很方便的。 Hanselman 写了一句话,暗示了定制活页夹注册的替代地点,但似乎从来没有结束这个想法:

    你可以 通过在Global.asax中注册这个定制的模型绑定器来管理所有的日期时间

    1 回复  |  直到 16 年前
        1
  •  6
  •   Community Mohan Dere    6 年前

    someone with an answer . 您可以指定 ModelBinderAttribute

    [ModelBinder(typeof(SomeEditorModelModelBinder))]
    public class SomeEditorModel {
        // display model goes here
    }
    public class SomeEditorModelModelBinder : DefaultModelBinder {
        // custom model binder for said model goes here
    }
    

    更新

    感谢列维的评论指出了一个更好的解决方案。如果您直接在MVC操作方法中使用带有自定义模型绑定器的对象,那么只需使用 ModelBinder 财产。

    public ActionResult SomeMethod([ModelBinder(typeof(SomeEditorModelBinder))]SomeEditorModel model) { ... }
    
    推荐文章