MVC POST не возвращает модифицированную модель представления - PullRequest
4 голосов
/ 28 января 2010

У меня есть стандартный сценарий редактирования с GET и POST, форма имеет кнопку «Сохранить» и кнопку «Поиск», которая позволяет пользователю найти почтовый индекс, который заполняет адрес и возвращает его в полях формы. Кнопка «Поиск» переходит к методу «Редактировать контроллер».

Следующий код не является реальным кодом, но демонстрирует мою проблему ...

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int CustomerId, string LookupButton)
{
    Customer customer = new Customer();
    UpdateModel(customer);
    //customer.County = "Hello world!";
    return View(customer);

    ...
}

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

<%= ViewData.Eval("County") %>

вернет "Привет, мир!" но

<%= Html.TextBox("County") %>

все еще сохраняет старое значение!

<input id="County" name="County" type="text" value="" />

Клиент - класс EF4.

Любая помощь высоко ценится.

1 Ответ

4 голосов
/ 28 января 2010

Это потому, что Html.TextBox сначала просматривает опубликованные значения запроса, а затем модель, которую вы обновляете в своем контроллере. В разнесенных значениях запроса он находит старое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...