ASP.NET没有魔法——ASP.NET MVC 模型绑定 (4)

  

ASP.NET没有魔法——ASP.NET MVC 模型绑定

  执行结果:

  

ASP.NET没有魔法——ASP.NET MVC 模型绑定

  本例通过在路由模板中添加Field1变量信息来获取对象的Field1字段数据,然后从QueryString中获取了Field2字段数据,证明一个对象中的数据可以来自于不同的数据源
  但是在实际使用过程中建议只通过一个数据源获取数据,避免造成代码混乱难以管理。

Bind特性

  

ASP.NET没有魔法——ASP.NET MVC 模型绑定

  它的作用是指明如何绑定模型的细节,比如前缀是什么,需要包含或排除的数据等等,其使用方式如下:
  url::52356/ModelBinderTest/Demo10/1/?a.field1=test123&a.field2=111111
  执行结果:

  

ASP.NET没有魔法——ASP.NET MVC 模型绑定

结论

  1、用于模型绑定的数据源一般为QueryString、FormData和RouteData。
  2、绑定基本类型时使用参数名称进行匹配。
  3、绑定自定义类型时使用类型的属性名称匹配,可以使用参数名称作为前缀以区分name相同的变量。
  4、绑定基本类型数组时可使用多个重复的参数名称来组件数组,也可以使用参数名称作为前缀,通过数组索引的形式指明数组某一位的元素的值是什么,当Action只有一个参数的时候也可以省略参数名称,直接使用数组索引来指明。
  5、同一个参数的不同属性可以从不同的数据源中绑定。
  注:在以上部分例子通过修改路由来满足调试需求,使用时需要注意。

小结

  本文从一个内容添加功能引出了ASP.NET MVC中的模型绑定,并介绍了模型绑定的数据源以及针对不同数据类型的参数的绑定方式,模型绑定作为ASP.NET MVC的一项重要功能除了进行数值的绑定外还具有对绑定的值进行验证的功能,下一篇文章将对ASP.NET MVC中模型的验证进行介绍。

参考:

  https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxdp.html