Ajax-вызов контроллера отправляет массив объектов, и метод в контроллере не может проанализировать содержимое

0

Ниже приводится мое частичное представление. Вызов контроллера выполняется с помощью вызова ajax ниже

$.ajax(url, {
            type: 'POST', 
            data: { Addresses: InboundAddresses },
            cache: false,
            crossDomain: true,
            success: function (data) {
                //Populate the form values
                // Start Dialog Code
                $myWindow = jQuery('#myDiv');
                //instantiate the dialog
                $myWindow.html(data);
                $myWindow.dialog({
                    title: 'Select an address',
                    modal: true,
                    width: 'auto'
                });
                $myWindow.show();
                $myWindow.dialog("open");
                // End Dialog Code

                $('#AddressTable').on('click', 'tr', function () {
//                    alert('You clicked row ' + ($(this).index()));
                    addAddress(InboundAddresses, Message, $(this).index())
                });
            },
            error: function (jqXHR, textStatus, errorThrown) {
                $('#Message').val('Kaboom!!! (The call blew up...#thatsucks)');
                alert('The Dialog Box call failed...Sorry :(');
            }
        });

Я проследил код, и вызов правильно отправил содержимое (проверено в скрипде). Метод приема в контроллере имеет объекты, но контент в этих объектах имеет значение NULL. Я думаю, что это проблема синтаксического анализа.

См. Код для метода ниже.

public PartialViewResult ShowAddresses(List<Address> Addresses)
        {
            ShowAddressViewModel viewModel = new ShowAddressViewModel();
            viewModel.Addresses = Addresses;
            viewModel.Message = "NEW";
    return PartialView("_ShowAddress", viewModel);
}
  • 0
    Как выглядят ваши данные json при отправке?
  • 0
    Это список адресных объектов. Каждый объект адреса имеет адрес 1,2, город, штат, почтовый индекс
Показать ещё 4 комментария
Теги:
razor
asp.net-mvc

1 ответ

1

Каждое свойство вашего json-объекта, которое вы передаете, должно сопоставляться с свойством в вашем классе Adresss

т.е.

public class Address
{
   public string address { get; set; }
   public string city { get; set; }
   // etc...
}

в ваших примерах json-данных вы говорите, что у вас есть адрес1, адрес2, который не будет работать, свойства объекта json должны точно совпадать.

  • 0
    Я использую MVC3. это то, что мой адресный объект выглядит как пространство имен PeopleSoftControlsPOC.Domain {общедоступный класс Address: IAddress {общедоступная строка Address1 {get; установлен; } публичная строка Address2 {get; установлен; } публичная строка City {get; установлен; } публичная строка State {get; установлен; } публичная строка Zip {get; установлен; }}}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню