代码之家  ›  专栏  ›  技术社区  ›  nikmd23

实现IModelBinder时的最佳实践[关闭]

  •  28
  • nikmd23  · 技术社区  · 15 年前

    我正在寻找一组在实现时要使用的最佳实践 IModelBinder .

    我读过三本不同的MVC书籍,每本都在它们的实现中做了一些稍微不同的事情,没有任何真正的解释。

    • 汉塞尔曼、哈克、古斯里和科尼的书甚至没有提到 智能粘结剂
    • 巴勒莫建议延长 DefaultModelBinder 而不是直接执行 伊莫德尔粘合剂 但是我不知道如何利用这些好处
    • Sanderson提到了更新现有模型实例以及调用 ModelState.SetModelValue() 遵守惯例。

    我只想确保我的模型绑定器遵循惯例,并且我正确地理解 ModelBindingContext .

    有什么建议,技巧,好的教程吗?

    5 回复  |  直到 10 年前
        1
  •  10
  •   hwiechers    15 年前
        2
  •  2
  •   LukLed    15 年前

    我继承了DefaultModelBinder,因为它自动绑定实体中的基本属性。我增强了它,所以它还绑定导航属性。我的活页夹首先执行继承的绑定,然后在表单中搜索其他导航属性值。我认为你的方法应该取决于你真正想做什么。您还可以使用Reflector并查看默认活页夹后面真正的内容。这可能会说服你继承遗产。

        3
  •  2
  •   nikmd23    13 年前

    TravisIllig最近写了一篇非常好的关于创建自定义模型绑定器时数据类型验证的博客文章。

    我以前从未见过这个建议,我认为它非常好-所以我想贡献这个链接: http://www.paraesthesia.com/archive/2012/01/31/data-type-validation-and-model-binding-in-asp-net-mvc.aspx

        4
  •  1
  •   geekonweb    12 年前

    这里有一个imodelbinder的实例。在这个例子中,一个复杂的Apache Solr QueryString已被包装为将简单对象传递到模型。

    IModelBinder 实施

    Controller

        5
  •  0
  •   Robert Claypool    14 年前

    MVC Futures 2具有 可扩展模型绑定系统 . 您可以在以下发布文档中找到更多信息: http://aspnet.codeplex.com/releases/view/41742

    只需下载“ASP.NET MVC 2 Futures可扩展模型绑定器文档”

    推荐文章