ASP.NET Core中Model綁定


官方地址

https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/model-binding?view=aspnetcore-5.0

使用

基本獲取

//地址:
localhost:5000/Home/2?DogsOnly=true 

//獲取id和DogsOnly
[HttpGet("{id}")] 
public ActionResult GetById(int id, bool dogsOnly)

[FromQuery] -從查詢字符串獲取值。

//地址:
localhost:5000/Home/GetById?pageNumber=1&query=埃及

//獲取pageNumber和query
public IActionResult GetById([FromQuery]int pageNumber,string query)

[FromRoute] -從路由數據中獲取值。

//地址:
localhost:5000/api/Home/GetById/123

//獲取id
public IActionResult GetById([FromRoute]int id)

[FromForm] -從已發布的表單字段中獲取值。

//從form表單中獲取數據
public IActionResult Privacy([FromForm]User user)

[FromBody] -從請求正文中獲取值。

可以使用postman發送post請求,將數據放在body中。

public IActionResult CreateUser([FromBody] User user)

[FromHeader] -從 HTTP 標頭中獲取值。

//獲取瀏覽器中Request Headers的Accept-Encoding
public IActionResult GetById([FromHeader(Name = "Accept-Encoding")] string acceptEncoding)

[FromService] -從依賴注入容器中獲取類型的實例,可用來替代構造函數那種依賴注入;構造函數那種是全局注入,這種用來局部注入。

public IConfiguration _configuration;

public HomeController(IConfiguration configuration)
{
//全局使用依賴注入 _configuration
= configuration; } //局部使用依賴注入 public IActionResult GetIocService([FromServices] IConfiguration configuration)

 [Bind] -指定模型綁定中應包含的模型屬性

 

public class User
{
    public AnotherUser AnotherUser { get; set; }
}


public class AnotherUser
{
    public string UserName { get; set; }
    public string Sex { get; set; }
}


//使用它可以綁定指定、或者嵌套的類型
public IActionResult Privacy([Bind("AnotherUser")] User user)

 [BindRquired] -必須綁定;如果無法對模型屬性進行綁定,則會導致模型綁定添加模型狀態錯誤

 [BindNever] -不進行綁定,與[BindRquired]相反

 批量數據綁定

public IActionResult List(List<string> string list)

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM