Что-то довольно странное происходит с моим приложением:
У меня есть следующее свойство в моей модели ViewModel:
public int? StakeholderId { get; set; }
Он отображается в частичном виде следующим образом:
<%= Html.Hidden("StakeholderId", Model.StakeholderId) %>
Форма отправляется, и соответствующее действие контроллера генерирует идентификатор и обновляет модель перед возвратом того же представления с обновленной моделью
Проблема, с которой я сталкиваюсь, заключается в том, что скрытое поле не имеет ничего в своем атрибуте "value", которое отображается во второй раз, даже если значение StakeholderId теперь имеет значение.
Если я просто вывожу значение самостоятельно, оно отображается на странице, поэтому я получил его для отображения значения, выполнив следующее:
<input type="hidden" id="StakeholderId" name="stakeholderId" value="<%: Model.StakeholderId %>" />
Но довольно странно, что помощник не поднимает обновленное значение?
(Я использую jQuery для отправки форм и рендеринга результатов действий в divs, но я проверил, и html, который я возвращаю, уже ошибочен, прежде чем jQuery что-то делает с этим, поэтому я не думаю, что это много делать что-либо)
UPDATE
С тех пор я обнаружил, что я также могу очистить соответствующий ключ ModelState до того, как действие моего контроллера вернет частичный вид.