2012-02-22 17 views

risposta

23

mettere questo nel controller:

ModelState.Remove("JobIndicator"); 

quindi il campo nascosto verrà aggiornato.

+1

Amo questa risposta, ma io odio questo comportamento; non molto intuitivo. Sembra che raramente emerga perché sto cambiando il valore del campo sul lato client prima che I POST tornino, o sto creando un nuovo modello, ma se imposto il valore mi piacerebbe che venisse impostato. – LoveMeSomeCode

+2

Mi ha aiutato a risolvere il problema utilizzando invece di @ Html.HiddenFor (m => m.Name) – ravithejag

+0

Perché qualcuno può spiegarlo. – maxspan

-1

Basta fare in modo di mettere questa linea all'interno del tag form

@Html.HiddenFor(model => model.JobIndicator) 
7

Il problema è aiutanti Html ottenere dati da ModelState e non dal modello si passa quando si chiama l'azione posta .Per risolvere questo , è possibile chiamare ModelState.Clear() nell'azione post prima di restituire la vista, in questo modo le informazioni nel ModelState verranno cancellate e ripopolate una volta rigenerata la vista.

Potete trovare ulteriori informazioni su questo problema (e altre soluzioni) in questo blog

0

Ran in a questo problema me stesso. Una soluzione (sebbene non elegante) consiste nell'utilizzare la sintassi HTML di base per questo e utilizzare il valore del modello.

<input type="hidden" name="JobIndicator" value="@Model.JobIndicator">

Problemi correlati