ASP.NET MVC - макеты

{title}

Разрабатывая веб-приложение, мы также должны разработать его внешнюю и эстетическую часть, то есть то, что видит пользователь. Частично это сделать заголовок страницы, меню, нижний колонтитул и т. Д.
Мы упомянули статический контент, который обычно очень мало меняется в течение срока службы приложения, обычно он меняется при появлении нового внешнего вида, то есть при редизайне или при добавлении новых компонентов, которые должны быть отражены.
Чтобы работать с элементами этого типа, мы должны использовать макеты, это позволяет нам, например, написать заголовок один раз, и тогда мы можем включить его в другие части без необходимости переписывать его.
Макеты
Используя Razor, мы можем создавать шаблоны, которые ведут себя как контейнеры представлений, то есть представление, которое будет содержать другие, как мы объяснили, цель этого - написать как можно меньше кода и гомогенизировать внешний вид нашего приложения.
Зачем использовать макеты?

Например, если у нас есть базовый веб-сайт с заголовком, наиболее логичным является то, что разные представления используют этот заголовок, поэтому вместо того, чтобы несколько раз писать в каждом представлении свой код, мы создаем макет и включаем его в разные представления.
Содержимое файла _Layout.cshtml
При создании нового веб-проекта в нашей папке представлений у нас есть файл _Layout.cshtml, в этом файле у нас есть основной шаблон, который будет работать в качестве контейнера представлений, который мы объясняли в предыдущем пункте.
Давайте посмотрим на следующем изображении исходный код, который содержит этот файл:

{title}


Если мы детализируем, у нас есть нормальный HTML-файл, однако нас интересует код Razor, мы начинаем с тега title, если мы смотрим на Razor, он обозначает @ View.Title, это означает, что вы должны напечатать параметр Title, полученный из представления., затем мы продолжим с другими разделами, где @RenderSection ([имя]) позволяет нам печатать содержимое, указывающее в представлении, которое идет к каждому разделу, и, наконец, @RenderBody () будет печатать содержимое тела.
Как мы видим, это что-то довольно модульное, если мы теперь видим код представления, мы можем понять, как они связаны напрямую:
 @ {Layout = "~ / _Layout.cshtml"; } @section Header {

Просмотр содержимого заголовка

} @section Footer {Copyright @ DateTime.Now.Year}

Это содержание тела зрения


С этой точки зрения сначала мы должны указать, что вы будете использовать файл _Layout.cshtml в качестве базы, а затем мы сообщим вам, что будет содержать каждый раздел, например, заголовок @section, что содержит этот блок, и что будет напечатано в @RenderSection («Заголовок»), который мы видели в файле _Layouts.cshtml .
партнерство

Тогда мы можем сказать, что это будет работать как головоломка, и макет разместит каждый фрагмент, который мы идентифицируем, где он принадлежит.
На этом мы завершаем этот урок и, как видим, используя макеты, мы можем сохранить переписывание большого количества кода, и имея один источник для этого контента, наши страницы будут намного более однородными, если нам понадобятся разные разделы, мы можем написать второй или третий макет, который позволит нам иметь все элементы, которые мы будем использовать.

  • 0