ASP.NET MVC: Скрытое значение поля не получает представленное использование HtmlHelper. Скрытый

Что-то довольно странное происходит с моим приложением:

У меня есть следующее свойство в моем ViewModel:

public int? StakeholderId { get; set; }

Это представляется в частичном представлении следующим образом:

<%= Html.Hidden("StakeholderId", Model.StakeholderId) %>

Форма отправлена, и соответствующее действие контроллера генерирует идентификатор и обновляет модель, прежде, чем возвратить то же представление с обновленной моделью

Проблема, которую я испытываю, состоит в том, что скрытое поле ничего не имеет в своем атрибуте "значения" представленным во второй раз даже при том, что StakeholderId теперь имеет значение.

Если я просто произвел значение самостоятельно, оно обнаруживается на странице, таким образом, у меня есть оно для рендеринга значения путем выполнения этого:

<input type="hidden" id="StakeholderId" name="stakeholderId" value="<%: Model.StakeholderId %>" />

Но довольно странно, что помощник не берет обновленное значение?

(Я использую jQuery, чтобы отправить формы и представить результаты действия в отделениях, но я проверил, и HTML, который я возвращаю, является уже неправильным, прежде чем jQuery сделает что угодно с ним, таким образом, я не думаю, что это имеет непосредственное отношение к чему-либо),

ОБНОВЛЕНИЕ

Я с тех пор обнаружил, что могу также очистить соответствующий ключ ModelState, прежде чем мое действие контроллера возвратит частичное представление.

71
задан Alex 31 March 2015 в 10:33
поделиться

1 ответ

Помощник сначала поищет POSTed значения и использует их. По мере заполнения формы он будет подбирать старое значение ID. Ваш обходной путь верен.

.
61
ответ дан 24 November 2019 в 13:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: