2013-08-04 12 views
38

Te trzy różne funkcje występują w widoku maszynki Razor i mogą być używane do uzyskania podobnych rezultatów. W końcu wszystkie trzy renderują fragmenty kodu HTML, ale sposób ich definiowania i używania jest dość odmienny. Wiem, że:Kiedy powinniśmy używać Pomocników Html, Pomocników do golenia lub Widoku częściowego?

Pomocników HTML są tworzone jako metody rozszerzenia dla klasy HtmlHelper. Często używają klasy TagBuilder do generowania kodu HTML i zawsze powinny zwracać wartość IHtmlString.

Razorowe pomocniki (metody @helper) można zdefiniować lokalnie (w tym samym pliku maszynki do golenia) lub globalnie (w katalogu App_Code). Są to małe fragmenty kodu HTML, które można ponownie wykorzystać wyłącznie w plikach Razor.

Wreszcie widoki częściowe to zwykłe pliki widoku, które można dołączyć do innych plików widoku przy użyciu pomocnika @Html.Partial.

Moje pytanie brzmi:

Czy istnieje specyficzny scenariusz dla każdej z tych funkcji? Lub sprowadza się do różnych smaków, aby osiągnąć ten sam rezultat?

Odpowiedz

57

Pomocników HTML są przeznaczone do komponentów wielokrotnego użytku. na przykład WebGrid, Pager itp. Są one dystrybuowane jako zespoły i nie są zależne od Razor. Wybierz tę opcję, jeśli:

  • Funkcjonalność jest naprawdę wielokrotnego użytku i zastosowanie do dowolnej aplikacji
  • Nie chcemy, aby ludzie go modyfikować, chcą WERSJA

partials Odwiedzin są sposobem dziel się dużymi widokami na mniejsze części, aby wszystko było łatwiejsze w zarządzaniu. Są również przydatne do ponownego wykorzystania, które są specyficzne dla Twojej aplikacji. Są one zlokalizowane za pomocą mechanizmu wyświetlania, więc możesz mieć te same częściowe definicje w różnych miejscach (np. Widoki/Współdzielone), co umożliwia dostosowanie do jednego kontrolera, obszaru lub trybu wyświetlania. Wybierz tę opcję, jeśli:

  • Funkcjonalność jest specyficzne dla aplikacji
  • Chcesz dostosować za kontrolera, tryb obszar lub wyświetlacza

lokalnych pomocników są sposobem na wykonanie tego samego szablonu wiele razy, bez Muszę się powtórzyć. Możesz także użyć go do podzielenia widoków na części, aby uniknąć zagnieżdżania, ale zachowując wszystko w tym samym pliku. Wybierz tę opcję, jeśli:

  • Funkcjonalność jest widok specyficzne

Zastosowanie Pomocnicy (w App_Code) to mieszanka lokalnych pomocników i pomocników HTML.Wybierz tę, jeżeli:

  • wolą Razor nad TagBuilder
  • nie przeszkadza dystrybucji plików zamiast zespołów
  • Wolę typu bezpieczny sposób połączenia składni-zamiast @Html.Partial(name)
Powiązane problemy