什么是ModelBinding

ASP.NET MVC中,所有的請(qǐng)求最終都會(huì)到達(dá)某個(gè)Controller中的某個(gè)Action并由該Action負(fù)責(zé)具體的處理和響應(yīng)。為了能夠正確處理請(qǐng)求,Action的參數(shù)(如果有的話),必須在Action執(zhí)行之前,根據(jù)相應(yīng)的規(guī)則,把請(qǐng)求中所包含的數(shù)據(jù)提取出來(lái)并將映射為Action的參數(shù)值,這個(gè)過(guò)程就是ModelBinding。ModelBinding的作用就是為Action提供參數(shù)列表。

ModelBinding的好處

  1. 使代碼變得更加簡(jiǎn)潔

  2. 幫助我們獲取HTTP請(qǐng)求中的數(shù)據(jù)

  3. 幫助我們完成必要的數(shù)據(jù)類型轉(zhuǎn)換

ASP.NET MVC中ModelBinding的實(shí)現(xiàn)過(guò)程

ASP.NET MVC中ModelBinding的實(shí)現(xiàn)過(guò)程比較復(fù)雜,這里簡(jiǎn)要說(shuō)明它的總體流程。具體的實(shí)現(xiàn)過(guò)程可以看蔣金楠的《ASP.NET MVC5框架揭秘》或者看他的博客How ASP.NET MVC Works?,講解很詳細(xì)。