2012-06-08 12 views
5

Guardando attraverso le esercitazioni di Microsoft sembra che abbiano utilizzato SPA in scenari abbastanza semplici, ovvero Per filtrare o aggiornare un singolo elenco.MVC4 Single Page App - Schermi multipli

Dire che ho un'interfaccia leggermente più complessa in cui potrei avere più elenchi, più schermi di aggiunta e alcune procedure guidate ecc che guidano l'utente attraverso determinati processi.

L'approccio preferito per un'applicazione a pagina singola deve disporre di più controller e viste per ogni area del sistema, ad esempio Se si dispone di un'area di gestione utenti, potrebbe trattarsi di un controller/vista, il mantenimento di un profilo utente potrebbe essere un altro controller /Vista.

Quindi l'esperienza degli utenti sarebbe la navigazione tra le pagine ma su una pagina in cui si desidera eseguire determinate operazioni tutto AJAX?

Se una tale applicazione è stata veramente SPA Penso che avrei finito con tonnellate di div in una pagina che riflettono un'interfaccia utente per area nel mio sistema - L'impronta di questa pagina potrebbe essere potenzialmente enorme?

Credo che avrei potuto confrontare quello che sto cercando di realizzare e confrontarlo con FaceBook? Presumo tuttavia che stiano scaricando le viste via AJAX al volo, quindi la stampa del piede è relativamente piccola.

risposta

1

Una vera SPA genera/distrugge l'interfaccia utente in "tempo reale", di solito in risposta a una sorta di chiamata JSON. Questo è dove un frameword come knockout.js aiuta davvero [eliminare un sacco di codice di binding a due vie].

Naturalmente, nel codice "dietro le quinte", è possibile strutturarlo nel modo che preferisci. La nuova API Web ASP.NET si presta molto bene a questo. Imposta l'interfaccia utente iniziale, codifica le azioni (in genere endpoint RESTful) come API JSON; quindi lascia che il javascript effettui le chiamate JSON e costruisci interfacce utente aggiuntive al volo.

Probabilmente non è necessario disporre di molte visualizzazioni complete, ma alcune viste parziali come modelli per gli elementi dell'interfaccia utente di creazione JavaScript possono essere utili.