Как передать массив объектов в качестве входного параметра в Ajax-вызов Kendo MultiLiselect - PullRequest
0 голосов
/ 04 апреля 2019

Поскольку я новичок в реализации Kendo, у меня есть требование передать массив объектов из javascript в раскрывающийся ajax-вызов Kendo с множественным выбором в качестве входного параметра, как я пытался передать массив объектов, когда я проверял вна стороне контроллера объект был там, но значения равны нулю, может какое-нибудь тело может помочь мне выбраться из этой проблемы

Вот мой код JavaScript

function getValues()
{

var selectedfieldValue=[];
var kendoSelectedFieldValue = [];
 var AdvanceFilterQuery = {};
                        AdvanceFilterQuery.Id = 1;
                        AdvanceFilterQuery.Text = 'wer';
                        AdvanceFilterQuery.Status = true;
                        AdvanceFilterQuery.ShortValue = 'yes';
                        selectedfieldValue.push($(elem).text());
                        kendoSelectedFieldValue.push(AdvanceFilterQuery);


$('#selectpicker_Value).kendoMultiSelect({
            placeholder: "Select",
            dataTextField: "Text",
            dataValueField: "Id",
            filter: "startswith",
            noDataTemplate: 'No Data!',
            height: 290,
            virtual: {
                itemHeight: 26,
            },
            dataSource: {
                transport: {
                    read: {
                        url: "../Home/ActionMethod",
                        dataType: "json",
                        contentType: "application/json;",
                         data: function () {
                            return {
                                selectedType: fieldType,
                                selectedValue: selectedfieldValue,
                                operatorType: operatorType
                            }
                        }
                    },
                },
                requestEnd: function (e) {
                },
                schema: {
                    data: 'data',
                    total: 'total',
                    fields: [
                        { field: 'Id', type: 'number' },
                        { field: 'Text', type: 'string' }

                    ]
                },
                pageSize: 44,
                serverPaging: true,
                serverFiltering: true
            },

        });
}

Метод на стороне сервера:

public async Task<JsonResult> ActionMethod(string selectedType, List<AdvanceFilterQuery> selectedValue, string operatorType)
{

}

Здесь в selectedValue я получаю список объектов, но значения равны нулю.

Предполагается, что необходимо получить список объектов на стороне сервера, пожалуйста, найдите ссылку ниже для выпуска ..

enter image description here

1 Ответ

0 голосов
/ 04 апреля 2019

Пожалуйста, проверьте этот код:

var selectedValue = JsonConvert.DeserializeObject
     <List<AdvanceFilterQuery>>
                    (Request.Params.GetParamValueByKey<string>("selectedValue"));

Надеюсь, что это решит вашу проблему.

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