Spero che questo sia in discussione qui da quando sono un po 'nuovo alla lavagna ...
Attualmente sto sviluppando un'applicazione utilizzando ASP.NET MVC 5 (e WebAPI 2). Una delle mie entità di dominio è enorme e viene archiviata in un database di documenti (in questo caso MongoDb). Il motivo per cui è così grande è che assomiglia ai campi su un modulo cartaceo usato per questo processo. Logicamente è logico che questa entità sia grande come al momento. Attualmente sto analizzando il modo migliore per gestire l'aggiornamento di questa entità. Attualmente sto usando un modello 1: 1 di questa entità.
Spiegherò che cosa sto implementando qui sotto, ma a questo punto non è impostato nulla.
La vista al momento è suddivisa in sezioni di questo modello di grandi dimensioni in cui un utente può fare clic su una sezione e quindi la sezione viene visualizzata come una forma utilizzando una magia JavaScript per l'utente finale per aggiornare tali campi (proprietà del modello ). Questo è il punto in cui non sono sicuro se lo sto facendo correttamente: l'implementazione corrente sta inviando il modello ENTIRE a un controller WebAPI tramite $.ajax()
per aggiornare il database con queste modifiche e, in caso di esito positivo, aggiorno la vista sul client lato per visualizzare i valori correnti.
Mi sembra di non sfruttare appieno il framework ASP.NET MVC, tranne che per la visualizzazione iniziale della vista, dal momento che sto eseguendo questi aggiornamenti sul lato client.
È questo il modo corretto di fare aggiornamenti parziali di un modello (almeno usando ASP.NET MVC 5)? Non desidero davvero dover aggiornare l'intera pagina richiedendo una nuova vista dopo uno di questi invii parziali utilizzando l'elaborazione dei moduli sul lato server. Ciascuna di queste sezioni dovrebbe essere una vista parziale insieme a modelli più piccoli che possono quindi aggiornare l'entità più grande? In questo caso, ritengo di poter quindi utilizzare l'elaborazione lato server per i moduli poiché può quindi inviare una nuova vista parziale? (Sto forse capendo come usare le viste parziali qui?!)
Sono un po 'confuso se non sapessi ...