zoukankan      html  css  js  c++  java
  • 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)

     

  • 相关阅读:
    使用jQuery实现伪分页
    使用jQuery实现option的上移和下移
    理解Flux架构
    React 入门学习笔记1
    ES6新特性6:模块Module
    ES6新特性5:类(Class)和继承(Extends)
    ES6新特性4:字符串的扩展
    ES6新特性3:函数的扩展
    ES6新特性2:变量的解构赋值
    ES6新特性1:let和const
  • 原文地址:https://www.cnblogs.com/-zzc/p/14584146.html
Copyright © 2011-2022 走看看