у меня есть проблема с asp.net mvc 2 и html.textboxfor помощником. я использую следовать код в форме:
<%= Html.TextBoxFor(model => model.Zip, new { @class = "txt", id = "zip", tabindex = 1 })%>
когда пользователь отправляет форму, я проверяю индекс, когда zip недопустима, мы устанавливаем исправленную zip. моя модель имеет исправленную zip, сгенерированный HTML-код от asp содержит старое значение zip.
образец: пользовательская zip записи: 12 345 моих классов проверки, исправленных zip к: 12 346 моих моделей содержат новую zip: 123456, на gui я вижу только 12 345
в чем проблема?
Вы не можете изменять значения в действии вашего контроллера, потому что помощник всегда будет использовать значения POSTed при создании текстового поля. Это сделано намеренно, и если вы хотите обойти это, вам придется написать свой собственный помощник или сгенерировать текстовое поле вручную:
<input
type="text"
name="Zip"
value="<%= Html.Encode(Model.Zip) %>"
class="txt"
id="zip"
tabindex="1"
/>