2012-02-22 12 views

Odpowiedz

23

umieścić to w kontrolerze:

ModelState.Remove("JobIndicator"); 

Wtedy twoje ukryte pole zostanie zaktualizowany.

+1

Kocham tę odpowiedź, ale nienawidzę takiego zachowania; niezbyt intuicyjny. Wydaje się, że rzadko pojawiają się one, ponieważ albo zmieniam stronę klienta po stronie wartości pola przed POWRACANIEM POST, albo tworzę nowy model, ale jeśli ustawię wartość, która ma być ustawiona. – LoveMeSomeCode

+2

Pomógł mi rozwiązać problem, używając zamiast @ Html.HiddenFor (m => m.Name) – ravithejag

+0

Dlaczego ktoś może to wyjaśnić. – maxspan

-1

Tylko upewnij się umieścić tę linię wewnątrz tagu formularza

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

Problemem jest HTML pomocnicy pobrać dane z ModelState a nie od modelu zdać podczas wywoływania działania po .Aby rozwiązać ten problem , możesz wywołać ModelState.Clear() w akcji post, zanim zwrócisz swój widok, w ten sposób informacje w ModelState zostaną wyczyszczone i ponownie wypełnione po odtworzeniu widoku.

można znaleźć więcej informacji na temat tego problemu (i innych rozwiązań) w tym blog

0

prowadził w tej kwestii siebie. Rozwiązaniem (choć nie eleganckim) jest użycie podstawowej składni HTML i wykorzystanie wartości modelu.

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

Powiązane problemy