Передать параметр в виде строки запроса в метод создания источника данных кендо

Сценарий: предположим, что у нас есть две модели представления, использующие один и тот же источник данных masterDataSource, и мы хотим добавить объект detail к объекту master.

Вопрос: как бы вы передали masterId в качестве строки запроса в метод создания источника данных из этих моделей представления:

var masterDataSource = new kendo.data.DataSource({
    transport: {
        create: {
            url: function() {
                return "/api/master/addItem?masterId=" + masterId;//<-- How to pass masterId form view-models
            },
            dataType: "json",
            type: "POST"
        },
    },

    schema: {
        model: {
            id: "id"
        }
    }
}

person Iman Mahmoudinasab    schedule 28.02.2014    source источник
comment
Я не знаю, что вы подразумеваете под телом сообщения. Вы имеете в виду, что хотите опубликовать некоторые данные вместо передачи их в строке запроса?   -  person Rick S    schedule 28.02.2014
comment
Вы пробовали data:yourjsonobject   -  person Rick S    schedule 28.02.2014
comment
@RickS У меня нет проблем с передачей данных в источник данных, настоящая проблема заключается в том, как я передаю masterId в url из двух моделей представления.   -  person Iman Mahmoudinasab    schedule 28.02.2014
comment
Это смутило меня, потому что ваш код не показывает никаких попыток использовать ваши модели представления. Вы спрашиваете, как получить masterId из вашей модели представления и передать его в строке запроса?   -  person Rick S    schedule 28.02.2014
comment
@RickS на самом деле я не хочу получать masterId из модели представления и не хочу, чтобы источник данных зависел от модели представления. Я хочу, чтобы модели просмотра передавали masterId в источник данных. Таким образом, у меня может быть много моделей представлений, использующих источник данных.   -  person Iman Mahmoudinasab    schedule 28.02.2014
comment
Возможно, это поможет demos.telerik.com/kendo-ui/web/grid /detailtemplate.html   -  person CSharper    schedule 01.03.2014


Ответы (1)


Я нашел это решение:

var dynamicUrl = "/api/master/addItem?masterId=" + masterId;
masterDataSource.transport.options.read.url = dynamicUrl;
person Iman Mahmoudinasab    schedule 28.02.2014