7 messaggi dal 14 luglio 2016
Salve, Avrei un problema.
In una View devo inserire una form in cui è possibile aggiungere campi dinamicamente tramite Jquery. Un esempio di campo de generare:

<div class="col-md-11">
@Html.LabelFor(model => model.Pacco.Peso, htmlAttributes: new {
@class = "control-label " })
<div>
@Html.EditorFor(model => model.Pacco.Peso, new {
htmlAttributes = new { @class = "form-control campo" } })
@Html.ValidationMessageFor(model => model.Pacco.Peso, "",
htmlAttributes: new { @class = "TestoValidazione" })
</div>
</div>


Per il pacco ho poi Altezza, Larghezza e Spessore. In Sostanza devo permettere di far inserire all' utente più pacchi definendo per essi peso Altezza e Spessore. Come gestisto gli html helper con Jquery esseno gli helper Server Side e Jquery Client side? e poi come gestisto questi oggetti in relazione alla classe model?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
vedi se questo ti aiuta:
http://forum.aspitalia.com/forum/post/403972/Inserire-Lista-Proprieta-Model-Interno-Form.aspx

Mi sembra di capire che tu hai anche la necessità di far funzionare la validazione lato client, quindi dovrai "attivarla" ogni volta che l'utente aggiunge o rimuove una riga. Quando questo succede, adatta e invoca la funzione javascript che trovi qui:
http://stackoverflow.com/questions/5965470/client-side-validation-with-dynamically-added-field#answer-15129348

ciao,
Moreno

Enjoy learning and just keep making
7 messaggi dal 14 luglio 2016
Sono riuscito a risolvere però adesso sottomettendo la form, avendo la necessità di usare anche i controlli server side con le dataannotations sul model e i get delle sue proprietà, se i campi sono stati riempiti in modo non corretto, ritornando alla vista con la form di inserimento, come mantengo visibili i campi aggiunti dinamicamente tramite jquery perché ovviamente quando ritorna la view della form, in essa questi non esistono
Modificato da jehunty il 09 agosto 2016 12.28 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


come mantengo visibili i campi aggiunti dinamicamente tramite jquery

Certo, sarebbe una bella grana. Dovresti cercare di evitarla usando sia la validazione lato client (cioè impedisci all'utente di inviare il form se non ha compilato tutto correttamente) e poi postando i dati all'action con Ajax.
Per questo puoi usare Ajax.BeginForm o usare il metodo serialize() di jQuery. Entrambi i metodi sono illustrati qui:
http://www.aspitalia.com/script/1106/Inviare-Manualmente-Contenuto-Form-AJAX-ASP.NET-MVC-Tramite-JQuery.aspx
In questo modo non perdi mai lo stato dei controlli lato client e perciò svanisce la necessità di doverlo ricostruire.

Se il post ha avuto successo, ridireziona l'utente verso una pagina di ringraziamento oppure mostragli direttamente il messaggio. Le opzioni di Ajax.BeginForm hanno una proprietà OnSuccess che ti permette di indicare una funzione javascript da usare a tale scopo.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.