asp.net core2 mvc 基础教程--Model Binding

2021-01-20 15:12

阅读:524

Model Binding

Model Binding 允许我们用 HTTP 请求里的数据来创建 C# 对象,这个对象就是 Action 方法的参数。

可以使用以下类型用来 Model Binding:

  • int,string 等简单类型
  • 复杂类型对象
  • 数组

示例:

将 localhost/Albums/Detail/3 绑定到 AlbumController 的 Details(int id) 方法。

Model Binder

Model Binding 主要依赖于 Model Binder。Model Binder 从 HTTP 请求的不同部分寻找参数,并将其组合绑定到 Action 的参数。

Model Binder 默认寻找范围:

  • Form 表单提交的值
  • 路由的值
  • QueryString 的值

 

Binding Attributes

 

通过 Binding Attributes 自定义绑定。

 

  • Bind:有选择的绑定属性
  • BindNever:指定属性不需要绑定
  • BindRequired:指定属性必须绑定

 

示例:使用 Bind 仅绑定 UserName 和 Email 属性,其他属性都是默认值:

技术图片

 

指定 Binding 来源

  • FromBody:Request Bodys
  • FromQuery:QueryStrings
  • FromHeader:Request Headers
  • FromRoute
  • FromForm

 

示例:

public ActionResult List(
    [FromQuery] int id,
    [FromHeader(Name = "Accept")] string accept)
{
    ...
}

 

 
 

 


评论


亲,登录后才可以留言!