Подтвердить что ты не робот

Что такое Partial Views в Asp.net MVC

Ive заметил, что, по-видимому, нет никакой реальной разницы между представлением и частичным представлением. Например, можно создать представление , но может отображать его как частичное представление с помощью

@Html.Partial("ViewName")

или указав, что его действие возвращает его как

return PartialView();

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

Мой вопрос в том, При добавлении нового представления в Visual Studio вам предоставляется возможность создать частичное или нет представление. Разве это не избыточно, так как представление может быть представлено как как частичное, так и полное представление?

4b9b3361

Ответ 1

Никакой разницы - это правда. Но когда вы говорите "Partial View", все ваши товарищи по команде понимают, что вы имеете в виду многоразовые представления, которые будут использоваться во многих местах на веб-сайте.

Ответ 2

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

Представление предназначено для использования в качестве полной страницы вашего приложения, оно нуждается в макете, <html> и <title>. Частичные виды больше похожи на многоразовые части других видов. Частицы не представляют полные страницы, они вставляются в другие виды.

С технической точки зрения return View("SameView"); отображает представление, включая страницу макета, и возвращает тот же самый вид return PartialView("SameView");, который отображает содержимое, но опускает содержимое страницы макета.

Ответ 3

Подумайте о частичных представлениях в качестве пользовательских элементов управления в ASP.NET WebForms. Частичные представления используются, если вы хотите иметь централизованную функциональность, поэтому ее можно использовать во многих частях вашего сайта. Это цель частичных представлений.

Надеюсь, я ответил на ваш вопрос.

Ответ 4

Две вещи. Во-первых, в какой-то степени вы правы. Но это скорее семантическая вещь для разделения кода многократного использования. Это также полезно, когда, например, скажем, вам нужно отобразить диалог, но только тогда, когда у пользователя есть какое-то взаимодействие со страницей, например, одним нажатием кнопки. С частичными представлениями вам не нужно иметь разметку для этого на странице, когда она загружается, тем самым уменьшая размер файла. Когда вы пишете разметку/код в частичном представлении, вам не нужно делать весь блок кода <html></html>. Вместо этого вы просто создаете <div></div> или все, что вам нужно.

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

Ответ 5

Практически нет никакой разницы между ними. Но когда вы признаете объект html как Partial View, он считается автономным объектом, который может служить в разных местах, как веб-часть/User-Controls, а также его легкий.

Ответ 6

Частичный вид хранится в качестве частичной страницы главной страницы (родительская страница).
Что означает частичный вид? Фактически на главной странице мы будем иметь все атрибуты HTML-страницы, как показано ниже:
html lang = "en"
глава
заглавие
мета
Тело

Но в частичном представлении мы не будем иметь все вышеприведенные атрибуты.

Найдите функции частичной страницы:
1. Частичная страница будет подсвечиваться и входить в любую точку зрения.
2. Это будет использоваться в качестве повторно используемого компонента.
3. Частичное представление будет отображаться внутри представления (родительского вида или страницы).

Для всех, кто приходит с фона ASP.Net, они могут понимать частичное представление как пользовательский элемент управления.

Спасибо Afazal [email protected]

Ответ 7

Чтобы ответить на ваш вопрос конкретно, при добавлении нового представления в Visual Studio вы получите основную разметку, сгенерированную для вас в качестве отправной точки, исходя из ваших вариантов в диалоговом окне.

Вот сгенерированная разметка в Visual Studio 2010 (VB.NET) для разных комбинаций флажка "Частичный" и флажок "Макет":

# "Create as a partial view" unchecked
# "Use a layout or master page:" unchecked

@Code
    Layout = Nothing
End Code

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>MyView</title>
</head>
<body>
    <div>

    </div>
</body>
</html>
# "Create as a partial view" unchecked
# "Use a layout or master page:" checked

@Code
    ViewData("Title") = "MyView"
    Layout = "~/ThePath/ToThe/Layout.vbhtml"
End Code

<h2>MyView</h2>
# "Create as a partial view" checked
# "Use a layout or master page:" greyed out

# returns an empty file

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

Ответ 8

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

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