2012-06-08 13 views
5

Przeglądając samouczki Microsoftu, wydaje się, że użyli SPA w dość prostych scenariuszach, np. Do filtrowania lub aktualizacji pojedynczej listy.Aplikacja MVC4 Single Page - wiele ekranów

Powiedzmy, że mam nieco bardziej złożony interfejs, w którym mogę mieć wiele list, wiele ekranów dodawania i niektórych kreatorów itp., Które prowadzą użytkownika przez określone procesy.

Czy preferowane podejście do pojedynczej aplikacji strony ma wiele kontrolerów i widoków dla każdego obszaru systemu, tj. Jeśli mam obszar zarządzania użytkownikami - może to być jeden kontroler/widok, utrzymanie profilu użytkownika może być kolejnym kontrolerem /Widok.

W związku z tym użytkownicy będą mieli do czynienia z nawigacją między stronami, ale na stronie, na której chcą wykonywać określone operacje, całą AJAX?

Jeśli taka aplikacja była naprawdę SPA myślę, że skończę z tonami div w jedną stronę odzwierciedlających interfejs użytkownika powierzchniowy w moim systemie - Ślad tej strony potencjalnie mogłyby być ogromne?

Chyba mogę porównać to, co próbuję osiągnąć poprzez porównanie go do FaceBook? Zakładam jednak, że pobierają widoki za pośrednictwem AJAX w locie, więc odcisk stopy jest stosunkowo niewielki.

Odpowiedz

1

Prawdziwe SPA wygenerowałoby/zniszczyłoby interfejs użytkownika w "czasie rzeczywistym", zwykle w odpowiedzi na wywołanie JSON. To jest miejsce, w którym autor np. knockout.js naprawdę pomaga [wyeliminować wiele dwukierunkowego kodu wiążącego].

Oczywiście w kodzie "za kulisami" można go dowolnie ukształtować. Nowy ASP.NET Web API nadaje się do tego bardzo dobrze. Skonfiguruj początkowy interfejs użytkownika, zakoduj akcje (zazwyczaj RESTful endpoints) jako interfejs API JSON; następnie pozwól javascriptowi wykonywać wywołania JSON i buduj dodatkowy interfejs w locie.

Prawdopodobnie nie potrzebujesz wielu pełnych wyświetleń, ale kilka pomocnych widoków jako szablonów dla elementów interfejsu użytkownika javascript może być pomocne.