В чем разница между View и PartialView в ASP.NET MVC?
В чем разница между View и PartialView в ASP.NET MVC?
На первый взгляд потребность в обоих кажется мне неочевидной.
Ответы
Ответ 1
Теоретически, ответ таков: частичный вид - это "подзадача", которую вы вставляете в основной вид - что-то, что вы можете повторно использовать в нескольких представлениях, например, на боковой панели.
На практике ответ: Очень мало.
В теории частичные представления более легкие, чем стандартные, но вполне нормально передавать "обычный" вид на RenderPartial
, и производительность, похоже, точно такая же. Я часто использую регулярные представления .aspx как "частичные" представления, потому что вы можете заставить их ссылаться на мастер-представление, чтобы предоставить шаблонный контент, например, что вы можете делать с UserControls в ASP.NET WebForms. См. здесь.
Частичные представления больше похожи на веб-части на портале - они полностью автономные объекты. Используйте их, если макет прост и статичен, или если вас раздражают ошибки Intellisense, если в стандартном представлении нет тегов <html>
и <body>
.
Ответ 2
Он работает следующим образом:
Ответ 3
Представления - это общий результат страницы, результатом которой является отображение. Это контейнер наивысшего уровня, кроме мастер-страницы. Хотя частичный вид предназначен для небольшого фрагмента контента, который может быть повторно использован на разных страницах или несколько раз на странице.
Если вы используете веб-формы, представление похоже на форму веб-содержимого, а частичный вид - как пользовательский элемент управления.
Ответ 4
Посмотрите на сайт StackOverflow.com:
Основной сайт (View) содержит такие компоненты, как:
- Теги
- Связанные
- Объявление
Таким образом, теги, связанные, Ad и т.д. могут быть составлены как PartialView. Преимуществом этого является то, что
PartialViews можно просто кэшировать с помощью OutputCache вместо воссоздания всего сайта: прирост производительности.
Ответ 5
Рассмотрим частичное представление, такое как элемент управления в веб-формах, идея заключается в частичном повторном использовании
Ответ 6
Если вы используете фон webforms, подумайте о PartialView как usercontrol.