Что такое привязка модели в ASP.NET MVC, зачем она нужна? Может ли кто-нибудь дать простой пример, можно ли привязать модельную модель путем проверки создания строго типизированного представления?
Что такое привязка модели в ASP.NET MVC?
Ответ 1
ModelBinding
- это механизм, который ASP.NET MVC использует для создания сильно типизированных объектов (или заполнения параметров примитивного типа) из входного потока (обычно это HTTP-запрос).
Например, рассмотрим эту модель Person
:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Теперь у вас есть Action
в некотором Controller
, ожидающем тип Person
в качестве параметра:
public class HomeController : Controller
{
public ActionResult EditPersonDetails(Person person)
{
// ...
}
}
Затем Model-Binder
отвечает за заполнение этого параметра Person
для вас. По умолчанию он делает это, консультируясь с коллекцией ValueProviders
и запрашивая значение каждого свойства в (привязанной) модели.
Подробнее о поставщиках-источниках и привязках к моделям на http://haacked.com/archive/2011/06/30/whatrsquos-the-difference-between-a-value-provider-and-model-binder.aspx/