Отправка данных обратно в контроллер из частичного представления, созданного Ajax - PullRequest
1 голос
/ 18 сентября 2011

Я возвращаю частичное представление из вызова Ajax:

$(document).ready(function () {
$("#itemSubmitter").click(function (e) {
    $.ajax({
        url: '@Url.Action("GetShippingAddress", "Order")',
        type: "POST",
        cache: false,
        success: function (data) {

            $("#shoppingAddressWrapper").html(data);

        }
    });
});
});

Это возвращает представление, как ожидалось.Однако в Partial есть несколько текстовых полей с уже заполненными данными.#ShoppingAddressWrapper находится внутри тега формы.

Когда я отправляю форму, значения в текстовых полях частичного не являются частью коллекции Request.Params.

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

C

1 Ответ

1 голос
/ 24 января 2012

Я нашел, в чем проблема.Необходимо очистить состояние модели для текстовых полей.

if (Request.IsAjaxRequest())
    ModelState.Clear();

Вы можете очистить только те значения, которые вам нужны, или все значения.В противном случае механизм ajax вставит старые значения обратно.

...