ASP.NET использует отражение, чтобы определить правильный метод для вызова и создать параметры для передачи. Это делается на основе массива FormCollection. В основном он увидит модель. * Keysin там и FormCollection["someParameter"]
сначала попытается Action(model,someParameter)
, затем Action(model)
, а затем Action()
. Так как он находит Action с моделью и аргументами someParameter, он пытается преобразовать их в типы аргументов.
Однако по умолчанию это происходит вслепую, что создает некоторые угрозы безопасности, в этом блоге более подробно об этом говорится.
Если кто-то может опубликовать ссылку, которая более подробно описывает, как ModelBinding выполняется под капотом, это было бы здорово.