В чем разница между Partial View и Layout?

Я использовал как Partial View, так и концепцию Layout в моем проекте, который я не могу отличить. Но то, что я чувствую, выполняет одну и ту же работу. Может ли кто-нибудь рассказать краткое представление о частичном представлении и макете и о различии с примером?

Ответ 1

В дополнение к ответу Джоша, мои навыки рисования в aweeeesomeee хотели бы нарисовать вам картину, которая должна объяснить все.

Diagram displaying Layout, View and Partial View

Признай это... ты в страхе...

Вы видите верхний и нижний колонтитулы... у вас может быть и частичный вид.


Изменить...


Разметка

Чтобы дать вам другой пример того, почему вы используете каждый компонент (макет/представление/частичный просмотр), представьте, что у вас есть веб-сайт, на котором есть всего 100 страниц, и позволяет сказать, что вы хотите обновить дизайн своего веб-сайта, как вы собираетесь это делать?

Обновление каждой страницы индивидуально привело бы меня в смятение, потому что вы постоянно копировали свой код на каждую страницу, просто обновляя свой дизайн.

Это то, что позволяет решить проблему с макетом, вы используете представление "Макет" для создания шаблона для всех ваших страниц.


Просмотр

Используя наш существующий сценарий 100-страничного веб-сайта, каждая страница будет иметь уникальный контент, представление позволяет нам отображать это содержимое, используя наш шаблон из Layout.


Частичный вид

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

Преимущества этого в том, что вам не нужно повторять свой код повсюду, вам нужно создать только один Partial View, чтобы сделать любой комментарий.

Diagram displaying Layout, View and Partial View

Ответ 2

Макеты позволяют создавать последовательный взгляд на весь ваш сайт. Думайте о них как о главных страницах ASP.net.

Что такое макеты?

Обычно вы хотите поддерживать постоянный внешний вид во всех страниц на вашем веб-сайте/приложении. Представлен ASP.NET 2.0 концепция "мастер-страниц", которая помогает включить это при использовании .aspx на основе страниц или шаблонов. Razor также поддерживает эту концепцию с помощью функция, называемая "макеты", которая позволяет вам определить общий сайт шаблона, а затем наследовать его внешний вид на всех просмотров/страниц вашего сайта. - http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts

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

Вот Youtube Vid, который помог мне понять частичные взгляды довольно хорошо. https://www.youtube.com/watch?v=SABg7RyjX-4

edit: Кроме того, у парня, создавшего связанный vid, есть целая библиотека плейлистов, которая может помочь новым кодовым машинам MVC. Хорошие примеры он просматривает с помощью многих функций MVC. https://www.youtube.com/user/kudvenkat

Ответ 3

Нетехническое объяснение:

Макет - это основа дома, вид - это одна комната в этом доме, а PartialViews - это окна в этой комнате или розетки с электричеством в стенах.

Ответ 4

Чтобы сделать это просто Вот мой ответ:

1)

Макет - это то, что мы можем включить один раз на одной странице и мы можем использовать один и тот же макет для любого количества страниц.

2)

Частичное представление - это то, что мы можем включать в себя один и тот же контент любое количество раз на одной странице(где это требуется) и может использоваться на любом количестве страниц.