Модели в ASP.NET Core MVC. Валидация модели

Валидация модели занимает ключевое место в разработке приложения в целом так как позволяет выявить какие-либо ошибки в модели до того как эти ошибки приведут к аварийной остановке приложения или получению некорректного результата. В ASP.NET Core MVC валидация модели базируется на общем для .NET механизме валидации, но, при этом дополняет этот механизм некоторыми другими возможностями, например, использованием атрибута Remote.

Читать далее

Модели в ASP.NET Core MVC. Управление привязкой модели

Может быть такая ситуация, что свойство модели, имеющее ссылочный нам не требуется для нормальной работы действия контроллера. Однако, как мы уже знаем, если ссылочному типу в модели присваивается null, то привязчик модели завершается ошибкой и ModelState.IsValid возвращает false. Для того, чтобы приложение могло работать нормально, в этом и других случаях необходимо управление привязкой модели, которое осуществляется с использованием различных атрибутов.

Читать далее

Модели в ASP.NET Core MVC. Привязка модели

Привязка модели (model binding) в ASP.NET Core MVC — это механизм сопоставления параметров HTTP-запроса с параметрами методами контроллера. Мы уже сталкивались с работой этого механизма (просто не знали, что это он), когда разбирались с обработкой форм в контроллерах. Здесь мы вернемся к изучению работы механизма привязки модели, но уже изучим его более подробно.

Читать далее

Модели в ASP.NET Core MVC. Введение

Третий элемент MVC — модель. Именно этот компонент в нашем приложении должен отвечать за всю бизнес-логику — проводить необходимые вычисления, анализ данных и т.д. Как правило, в приложении ASP.NET Core MVC используются различные сущности, например, сущность «пользователь», «книга», «книжный шкаф» и т.д. Как правило (но не всегда), для каждой сущности создается своя модель в виде POCO-класса (plain-old CRL objects), то есть класса без каких-либо зависимостей, методов и атрибутов.

Читать далее

Представления в ASP.NET Core MVC. Генерация ссылок

Трудно себе представить хотя бы одно даже мелкое веб-приложение без каких-либо ссылок. Самый простой способ определить ссылку — это создать html-элемент <a></a>, но в ASP.NET Core MVC для работы со ссылками предусмотрены свои html-хэлперы о которых и пойдет далее речь.

Читать далее

Представления в ASP.NET Core MVC. Шаблонные html-хэлперы

Кроме html-хелперов форм, которые создают различные элементы формы, в ASP.NET Core MVC также имеются, так называемые, шаблонные хелперы, которые, не генерируют определенный html-элемент, а анализируют свойство модели и на основании проведенного анализа подбирают и создают наиболее подходящий html-элемент.

Читать далее

Представления в ASP.NET Core MVC. Строго типизированные html-хэлперы элементов форм

В предыдущей части мы рассмотрели различные html-хэлперы элементов форм, которые могут применяться для генерации html-разметки. При этом, в ASP.NET Core MVC также присутствуют строго типизированные html-хэлперы элементов форм. По сути — это двойники ранее рассмотренных хэлперов, но этот вид хелперов принимает в качестве параметра делегат, с помощью которого указывается свойство модели, к которому должен быть привязан данный хелпер. Отличительная черта строго типизированного хэлпера — наличие суффикса For.

Читать далее

Представления в ASP.NET Core MVC. Html-хэлперы элементов форм

В разделе «Контроллеры ASP.NET Core MVC» мы уже затрагивали тему обработки форм и даже написали небольшой html-файл c несколькими формами. В этой части мы рассмотрим работу с формами со стороны представлений. Чисто технически, мы уже знаем достаточно, чтобы создавать более менее сложные представления, используя обычные html-элементы типа списков, форм и т.д. Однако, в ASP.NET Core MVC для создания разметки возможно использовать так называемые html-хэлперы — специальные методы, которые могут сократить и, в некоторых случаях, упростить работу с html-разметкой в представлении. В этой части мы в общих чертах рассмотрим применение различных html-хэлперов.

Читать далее

Представления в ASP.NET Core MVC. Внедрение зависимостей в представления

Несмотря на то, что данные, отображаемые представлениями, должна передаваться от контроллера, всё же ASP.NET Core MVC позволяет внедрять зависимости и в представления. Внедрение зависимостей в представления можно допускать, например, когда информация из сервиса используется непосредственно для отображения данных в представлении.

Читать далее

Представления в ASP.NET Core MVC. Частичные представления

Наряду с обычными представлениями и макетами, в ASP.NET Core MVC также используются частичные представления (partial view). Частичные представления могут встраиваться в обычные представления и, обычно, используются для разбивки сложных представлений на более простые. Рассмотрим, как мы можем использовать частичные представления в нашем приложении.

Читать далее