От запроса к модели: делаем запрос полезным¶
ASP.NET Core обрабатывает запрос, выполняя обработчик страницы. Обработчики страницы — обычные методы C#, поэтому должны вызываться обычным способом. Если у них есть параметры, они получают значения в процессе привязки модели.
Вот пример кода с привязкой модели к свойствам.
public class IndexModel : PageModel
{
[BindProperty]
public string Category { get; set; }
[BindProperty(SupportsGet = true)]
public string UserName { get; set; }
public void OnGet() {}
public void OnPost(ProductModel model) {}
}
Помеченные атрибутом
[BindProperty] свойства будут привязаны к параметрам запросов POST и PUT, помеченные атрибутом [BindProperty(SupportsGet = true)] помимо POST и PUT будут привязаны к запросам GET.По умолчанию ASP.NET Core использует три разных источника привязки при создании моделей привязки, причем использует их в указанном порядке.
- Значения формы — отправляются в теле HTTP-запроса при отправке формы методом POST;
- значения маршрута — получаются из сегментов URL-адреса или значений по умолчанию после сопоставления маршрута;
- значения строки запроса — передаются в конце URL-адреса и не участвуют в маршрутизации.
При этом используется первое найденное значение модели.
После привязки каждого свойства модель валидируется и передается в свойство объекта PageModel или в качестве параметра обработчику страницы.
Связывание простых типов¶
Привязка сложных типов ¶
Выбор источника привязки¶
Последнее обновление :
19 апреля 2023 г.
Дата создания : 23 сентября 2022 г.
Дата создания : 23 сентября 2022 г.