ASP.NET MVC inserendo i valori di modulo in un ViewModel
-
23-08-2019 - |
Domanda
Sto cercando di capire se c'è una costruito nel modo in ASP.NET MVC per assegnare i valori del form che sono POST'd nuovo alle proprietà del ViewModel che è stato originariamente inviati al View?
Così sto pensando lungo le idee di decorazione alcune delle proprietà del ViewModel con un attributo e poi riflettere sul ViewModel e l'utilizzo di tale nome per estrarre valori (e costringere) dal [] oggetto Form.
Tuttavia, mi immagino che qualcosa di simile era già stato costruito nel e così non vuole reinventare la ruota qui.
Il problema che sto cercando di risolvere è che un utente fa clic su un pulsante di un modulo e il server convalida i dati e se ci sono errori che tornare l'utente al modulo utilizzando lo stesso ViewModel per trasportare i dati e quindi riempire i valori di nuovo nella forma che l'utente è entrato in origine.
(Sì, sto anche facendo la validazione lato client utilizzando JavaScript per rendere questo leggero, ma per la sicurezza devo ripetere la convalida del server.)
idee?
Soluzione
È possibile utilizzare UpdateModel o TryUpdateModel nel controller.
mi consiglia di utilizzare uno dei sovraccarichi in cui si specificano i campi da aggiornare.
Questo è discusso in dettaglio a pagina 78 del Wrox professionale ASP.net ebook (o echapter!)
Altri suggerimenti
Non credo MVC ha nulla di simile costruito in, o almeno io non ho visto nulla. Sarebbe bello anche se, come molti altri framework MVC fare questo (i puntoni per esempio).