Как передать объект массива в качестве параметра в методы чтения источника данных kendo? - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь отправить объект массива в контроллер mvc из методов чтения источника данных kendo и не могу связать параметр studentId в GetAllStudentDetails Методы.

 var studentId=[1,2,3]
         var preSelectStudentDataSource = new kendo.data.DataSource({
                            transport: {
                                read: {
                                    url: '/Manage/Students/GetAllStudentDetails',
                                    dataType: "json",
                                    contentType: "application/json;charset=utf-8",
                                    data: { studentId: studentId}
                                }
                            },
                            schema: {
                                success: "success",
                                message: "message",
                                data: "data",
                                model: {
                                    id: "StudentId"
                                }
                            },
                            autoBind: true
                        })

на стороне контроллера

 public JsonResult GetAllStudentDetails(int[] studentId)
        {
            JsonResult result = null;
            // Code
            return result;
        }

1 Ответ

0 голосов
/ 31 мая 2019

Создание традиционного = true, это работает для меня

 var studentId=[1,2,3]
     var preSelectSegmentDataSource = new kendo.data.DataSource({
                        transport: {
                            read: {
                                url: '/Manage/Students/GetAllStudentDetails',
                                dataType: "json",
                                traditional: true,
                                contentType: "application/json;charset=utf-8",
                                data: { studentId: studentId}
                            }
                        },
                        schema: {
                            success: "success",
                            message: "message",
                            data: "data",
                            model: {
                                id: "StudentId"
                            }
                        },
                        autoBind: true
                    })

Или с JSON.stringify ()

 var preSelectedSegmentDataSource = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url: '/Manage/Students/GetAllStudentDetails',
                            dataType: "json",
                            type: "POST",
                            contentType: "application/json;charset=utf-8",

                        },
                        parameterMap: function (options, operation) {
                           var studentId=[1,2,3]
                            if (operation == "read") {

                                return JSON.stringify({ studentId: studentId});
                            }
                        }
                    },
                    schema: {
                        success: "success",
                        message: "message",
                        data: "data",
                        model: {
                            id: "StudentId"
                        }
                    },
                    autoBind: true
                })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...