Передача с клиента на сервер JSon коллекции

112
28 декабря 2020, 08:10

Проблема состоит в следующем, на клиенте есть функция передачи модели (Model)

            self.getModel = function () {
            return {                    
                **TypeMembers: self.selectedTypevalues(),**               
                SelectedFrequency: self.selectedFrequency(),
                MembershipId: self.membershipId(),
                Customer: $('#customers-list').data('kendoAutoComplete').value(),
            };

Проблема как раз состоит с передачей TypeMembers

На контроллере в результате получения они приходят viewModel.TypeMembers с null по ID и Name

 private IEnumerable<ReportItem> GetGridItems(ReportViewModel viewModel)
 {            
        var membertypeValues = viewModel.TypeMembers.Select(zx => 
        zx.Id.ToInteger());
 }

Как нужно преобразовать на стороне клиента чтобы на сервере получить нормальную json-читаемую коллекцию?

Answer 1

Нужен корректный мэпппинг:

            var arr = self.selectedTypevalues();
            var mappedTypeMembers = $.map(arr, function (value, key) {
              console.log(value.id);
              return  {id : value.id, name : value.name};
            });
READ ALSO
Ограничение на ввод даты в DataGrid

Ограничение на ввод даты в DataGrid

У меня есть таблица Timetable, которая представлена в виде DataGridВ нем есть столбец "Date"

97
Работа с WebBrowser без Control

Работа с WebBrowser без Control

Почему-то не могу дождаться завершения загрузки веб-страницы, бесконечный циклВ чем моя проблема? Использовал следующий код:

103
unsafe структура с фиксированным массивом структур

unsafe структура с фиксированным массивом структур

Пробую перенести одну из структур с из DXGI, но столкнулся с проблемой

130
Как получить список всех элементов на странице из WebBrowser?

Как получить список всех элементов на странице из WebBrowser?

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

132