查詢了一下關于 MVC 中的模型綁定,大部分都是關于如何使用的,以及模型綁定過程中的一些用法和概念,很少有關于模型綁定的內部機制實現的文章,本文就來講解一下在 ASP.NET Core MVC 中模型綁定是如何實現的,以及它的一些其他用法。

模型綁定的用途

通常情況下,我們在使用 MVC 框架的時候不需要關注模型綁定的相關功能,因為它是集成到 MVC 框架內部的,當我們在瀏覽器訪問一個地址的時候,無論是 GET 還是 POST 訪問,在映射到 Action 的過程中 MVC 框架已經自動的進行了對象或者是路由參數的綁定,這其中就是使用的模型綁定。

在 ASP.NET Core MVC 中,模型綁定分為簡單模型綁定和復雜模型綁定。簡單的模型綁定比如直接從 Form 表單或者 URL 路由數據中獲取信息,然后應用到Action方法的各個參數上,復雜模型綁定的話可能就不是簡單的轉換到參數的值上面了,可能中間還會涉及到一些數據類型轉換,模型分解,參數校驗等。

下面來看一下模型綁定的一個示例:

假設我們有一個ViewModel對象叫 Person,它的代碼如下:

public class Person{    public string Name { get; set; }    
    public int Age { get; set; }
}

在這個 ViewModel 對象中,都是使用的一些很簡單的類型,那么我們的 Action 進行如下的定義:

public class PersonController{
    [HttpPost]
    [Route("~api/person/add")]    public IActionResult CreatePerson(Person person)    {        return Ok(person);
    }
}

在上面的代碼中,我們可以向 

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式