2010-01-11 14 views

Odpowiedz

38

Teoretycznie odpowiedź brzmi: Widok częściowy to "pod-widok" osadzony w widoku głównym - coś, co można ponownie wykorzystać w wielu widokach, na przykład na pasku bocznym.

W praktyce odpowiedź brzmi: Bardzo mało.

Teoretycznie widoki częściowe są lżejsze niż standardowe, ale całkiem dobrze jest przekazać "zwykły" widok do RenderPartial, a wydajność wydaje się być dokładnie taka sama. Często używam zwykłych widoków .aspx jako widoków "częściowych", ponieważ można je odwoływać do widoku głównego w celu zapewnienia szablonów, takich jak to, co można zrobić za pomocą UserControls w ASP.NET WebForms. Zobacz here.

Częściowe widoki są bardziej podobne do części internetowych na portalu - są to całkowicie niezależne obiekty. Użyj ich, jeśli układ jest prosty i statyczny, lub jeśli irytują Cię błędy IntelliSense, gdy nie masz znaczników <html> i <body> w widoku standardowym.

+0

jak o powrocie view() i powrócić PartialView(), wydaje mi się, że nie ma żadnej różnicy w ogóle – Omu

+0

@Omu https: // stackoverflow.com/a/41982373/4854931 – Alex78191

2

Rozważmy PartialView jak kontrola w webforms, pomysł jest częściowa jest wielokrotnego użytku

2

Jeśli pochodzą z tła WebForms, myśleć PartialView jako usercontrol.

3

Wyświetlenia są ogólnym wynikiem strony, która powoduje wyświetlenie. Jest to kontener najwyższego poziomu z wyjątkiem strony głównej. Podczas gdy częściowy widok dotyczy niewielkiej części treści, która może być ponownie wykorzystana na różnych stronach lub wiele razy na stronie.

Jeśli używasz formularzy internetowych, widok jest podobny do formularza treści WWW, a widok częściowy jest jak formant użytkownika.

3

Spójrz stackoverflow.com strony: Główny oddział (Widok) zawiera składniki takie jak:

  • Tagi
  • Podobne
  • Ad

Więc Tagi, związane, reklam itp można skomponować jako Częściowe widoki. Zaletą tego jest to, że PartialViews mogą być po prostu buforowane przez OutputCache, zamiast odtwarzać całą witrynę: przyrost wydajności.

+2

Ale, przypuszczalnie można przewidzieć system, który po prostu włącza "Widoki", aby zawrzeć "Widoki", negując potrzebę dodatkowego typu? – Ben

+0

Widok zawierający inne widoki jest bardzo przydatny. To zależy od Ciebie i masz wybór, aby mieć jeden duży widok lub jeden widok jako zbiór mniejszych widoków. Wszystkie widoki częściowe powinny być niezależne od innych i mogą mieć inne typy jako wartości zwracane. – Dariusz

6

To działa tak:

  • powrotną View() zawartość widok idzie w @RenderBody() z /Shared/_Layout.cshtml

  • PartialView powrotnej() zwraca tylko treść widok

Powiązane problemy