Как отправить 2 набора данных обратно с помощью Jquery Ajax.Post - PullRequest
0 голосов
/ 23 августа 2009

Я использую asp.net mvc и пытаюсь отправить 2 набора базы данных из jquery в мое представление Mvc.

Теперь мой взгляд будет выглядеть так

public ActionResult MyView(Product one, Product two)
{
}

Теперь, как мне отправить материал обратно, чтобы все было правильно связано? Я знаю, как сделать это с одним набором данных, но не с 2.

Например, если мне нужно только вставить один набор данных в один параметр продукта, все, что я бы сделал, это

var send = form.serializeArray();

и в моем посте ajax.

$.post("MyView",  send, function(result) {});

Он будет отправлен в MyView и будет привязан к Product1 (обратите внимание, что в этом случае MyView будет иметь только один параметр)

Но я не знаю, как это сделать с 2 serializedArrays, так как кажется, что мне нужно было бы это обработать, и тогда связыватель не сможет понять, что происходит.

Спасибо

Ответы [ 4 ]

0 голосов
/ 27 августа 2009

Никто не задумывается, почему в коде есть запись в представлении ActionResult, а не что-то вроде JSon и т. Д.

0 голосов
/ 23 августа 2009

Поскольку serializeArray вернет вам массив объектов пары имя / значение, вы можете просто объединить два массива с помощью Array.concat :

var send = array1.concat(array2);
0 голосов
/ 27 августа 2009

Не уверен, что понимаю, но я попробую. Если у вас есть две модели, с которыми вы имеете дело, и вы хотите обновить обе модели в вашем контроллере. Вы можете создать экземпляр двух типов моделей и использовать метод TryUpdateModel () для каждой модели в отдельности. Я использовал это, и это работает, так как все поля из обеих моделей сохраняются в форме сообщения.

0 голосов
/ 23 августа 2009

Вы можете создать объект с двумя внутренними массивами и сериализовать это? В конце концов, вы используете возвращенный JSON, и вы знаете, что происходит правильно?

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