asp.net core2 mvc 基礎教程--Model Binding
阿新 • • 發佈:2020-07-15
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) { ... }