Ответ 1
Никакой разницы - это правда. Но когда вы говорите "Partial View", все ваши товарищи по команде понимают, что вы имеете в виду многоразовые представления, которые будут использоваться во многих местах на веб-сайте.
Ive заметил, что, по-видимому, нет никакой реальной разницы между представлением и частичным представлением. Например, можно создать представление , но может отображать его как частичное представление с помощью
@Html.Partial("ViewName")
или указав, что его действие возвращает его как
return PartialView();
Ive заметил, что это также имеет место, т.е. можно создать частичный вид, но если он будет возвращен как полный вид, он будет отображаться с макетом по умолчанию для представлений.
Мой вопрос в том, При добавлении нового представления в Visual Studio вам предоставляется возможность создать частичное или нет представление. Разве это не избыточно, так как представление может быть представлено как как частичное, так и полное представление?
Никакой разницы - это правда. Но когда вы говорите "Partial View", все ваши товарищи по команде понимают, что вы имеете в виду многоразовые представления, которые будут использоваться во многих местах на веб-сайте.
Там есть разница между представлениями и частичными представлениями, и разница скорее связана с их использованием, чем с техническими.
Представление предназначено для использования в качестве полной страницы вашего приложения, оно нуждается в макете, <html>
и <title>
. Частичные виды больше похожи на многоразовые части других видов. Частицы не представляют полные страницы, они вставляются в другие виды.
С технической точки зрения return View("SameView");
отображает представление, включая страницу макета, и возвращает тот же самый вид return PartialView("SameView");
, который отображает содержимое, но опускает содержимое страницы макета.
Подумайте о частичных представлениях в качестве пользовательских элементов управления в ASP.NET WebForms. Частичные представления используются, если вы хотите иметь централизованную функциональность, поэтому ее можно использовать во многих частях вашего сайта. Это цель частичных представлений.
Надеюсь, я ответил на ваш вопрос.
Две вещи. Во-первых, в какой-то степени вы правы. Но это скорее семантическая вещь для разделения кода многократного использования. Это также полезно, когда, например, скажем, вам нужно отобразить диалог, но только тогда, когда у пользователя есть какое-то взаимодействие со страницей, например, одним нажатием кнопки. С частичными представлениями вам не нужно иметь разметку для этого на странице, когда она загружается, тем самым уменьшая размер файла. Когда вы пишете разметку/код в частичном представлении, вам не нужно делать весь блок кода <html></html>
. Вместо этого вы просто создаете <div></div>
или все, что вам нужно.
Немного о создании представления в Visual Studio. Нет, это не избыточно, потому что, когда вы создаете частичное представление, он не использует ваш файл макета.
Практически нет никакой разницы между ними. Но когда вы признаете объект html как Partial View, он считается автономным объектом, который может служить в разных местах, как веб-часть/User-Controls, а также его легкий.
Частичный вид хранится в качестве частичной страницы главной страницы (родительская страница).
Что означает частичный вид? Фактически на главной странице мы будем иметь все атрибуты HTML-страницы, как показано ниже:
html lang = "en"
глава
заглавие
мета
Тело
Но в частичном представлении мы не будем иметь все вышеприведенные атрибуты.
Найдите функции частичной страницы:
1. Частичная страница будет подсвечиваться и входить в любую точку зрения.
2. Это будет использоваться в качестве повторно используемого компонента.
3. Частичное представление будет отображаться внутри представления (родительского вида или страницы).
Для всех, кто приходит с фона ASP.Net, они могут понимать частичное представление как пользовательский элемент управления.
Спасибо Afazal [email protected]
Чтобы ответить на ваш вопрос конкретно, при добавлении нового представления в 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
Как вы можете видеть, в фоновом режиме ничего особенного не происходит, или специальные свойства, заданные где-то в секретном файле. Параметры просто используются для получения разметки по умолчанию на странице. Независимо от того, практично это или нет, это чисто субъективно!
Довольно поздно, но может быть полезно для кого-то с тем же вопросом. Частичные представления полезны в сценарии, в котором вы хотите загрузить представление, основанное на некотором выборе пользователем.
Например, допустим, что в родительском представлении есть раскрывающийся список, отображающий три операции, которые пользователь может выполнить. На основе выбора пользователя частичный вид может быть загружен в родительский вид вместо того, чтобы сохранять скрытые DIV в самом родительском представлении, тем самым делая свет родительского представления. Это будет очень полезно, если у нас будет несколько таких пользовательских выборок на основе DIVs