2012-02-22 9 views

Respuesta

23

poner esto en su controlador:

ModelState.Remove("JobIndicator"); 

A continuación, se actualizará el campo oculto.

+1

Me encanta esta respuesta pero no me gusta este comportamiento; no muy intuitivo Parece que rara vez aparece porque estoy cambiando el valor de campo del lado del cliente antes de POST, o estoy creando un nuevo modelo, pero si configuro el valor me gustaría que se establezca. – LoveMeSomeCode

+2

Me ayudó a solucionar el problema usando insteadt of @ Html.HiddenFor (m => m.Name) – ravithejag

+0

¿Por qué alguien puede explicar esto? – maxspan

-1

Sólo asegúrese de poner esta línea dentro de la etiqueta de formulario

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

El problema es ayudantes Html obtener datos de ModelState y no del modelo se pasa cuando se llama a la acción posterior .Para resolver este , puede llamar al ModelState.Clear() en la acción posterior antes de devolver su vista, de esta manera la información en el ModelState se borrará y se volverá a llenar una vez que se regenere su vista.

Puede encontrar más información sobre este tema (y otras soluciones) en este blog

0

Ran a este problema a mí mismo. Una solución (aunque no elegante) es usar la sintaxis HTML básica para esto y usar el valor del modelo.

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

Cuestiones relacionadas