Voglio creare un'app Web con più pagine. Ogni pagina deve agire come una SPA (interagire con gli utenti e creare elementi dinamici).
ASP.net MVC è in grado di gestire anche i lavori front-side o dovrei usare framework come AngularJS?
Dipende dalla complessità di ciò che vuoi fare nell'app.
Se è abbastanza semplice, potrebbe essere possibile implementarlo usando jquery e compagnia, O se è ragionevolmente complicato, devi andare per un framework di frontend che tu / il tuo team posseggono / desiderosi di apprendere.
ASP.NET MVC è un framework di back-end in modo che tu possa andare solo fino al livello Viste / Viste parziali quando si tratta di front-end e non ci sono "Controlli ASP.NEt" o simili "Fuori dalla scatola "per aiutarti a costruire l'interfaccia utente se è quello che ti aspetti.
Se hai davvero bisogno di controlli forse dovresti provare cose di terze parti come UI di Kendo
Spero che aiuti:)
ASP.NET MVC esegue il rendering dell'HTML sul server e lo restituisce al client.
Quando si desidera comunicare e creare l'interfaccia utente in un modo SPA, è possibile scegliere di utilizzare JavaScript semplice per effettuare chiamate al server. Questo sarà comunque molto produttivo e non ti consiglierò di farlo.
Puoi anche usare JQuery, ma anche quello sarà un compito noioso.
La cosa migliore da fare è utilizzare un framework lato client.
Ho creato alcune SPA e osservando quanto viene gestito dal framework lato client, non posso pensare ad alcun motivo per non utilizzare un framework lato client.
Sì, se l'interfaccia utente della tua applicazione non è eccessivamente complessa, puoi utilizzare semplicemente JavaScipt o Jquery su APS.NET MVC5 per creare un'applicazione SPA multipagina (sì, lo so che suona come una contraddizione).
MVC 5 ha helper come Ajax.BeginForm
che gestiranno le basi del lavoro JavaScript per te. Sarebbe perfettamente ragionevole avere 1 controller per "pagina SPA", con ciascun controller che ha un singolo metodo Index
che restituisce una vista reale e tutti gli altri metodi che restituiscono JsonResult e chiamato tramite quegli Ajax.BeginForm
sul visualizzazione Index
. Ci sarà un limite al livello di interazione che puoi raggiungere con questo approccio più semplice, ma potrebbe essere abbastanza per farti muovere sul tuo progetto. E non temere in un'applicazione "SPA" di inserire un vero e proprio postback della pagina se ne hai bisogno, magari per gestire eccezioni / problemi o eseguire un reset dei dati nella pagina. Non ci sono poliziotti della polizia che ti arresteranno per questo!
IMHO tutti oggi sono andati un po 'fuori dal profondo con il loro desiderio di utilizzare i più recenti framework SPA, che sono molto necessari per applicazioni complesse, ma eccessivo per quelli più semplici, se lo sviluppatore in questione non lo è già conosci il framework . Ovviamente se ti prendi il tempo per imparare Angular, allora una semplice app Hello World SPA è ovviamente ridicolmente facile, ma ovviamente solo se hai avuto il tempo di impararlo, cosa che non tutti gli sviluppatori hanno!
Leggi altre domande sui tag asp.net-mvc