0

我想在我的 kendo 调度程序的调度程序中使用 Kendo MVC Wrapper for Parameter Map,

目前,我在文档加载完成后将 ParameterMap 用于 Javascript 函数:

  $(document).ready(function () {

            $("#scheduler").data("kendoScheduler").dataSource.transport.parameterMap = function (options, operation) {
            var scheduler = $("#scheduler").data("kendoScheduler");
            if (operation === "read") {
                var result = {
                    start: scheduler.view().startDate().toISOString(),
                    end: scheduler.view().endDate().toISOString()
                }
                return result;
            }
        };

    })

但我想为 Kendo Scheduler 使用 MVC Wrapper。有可能吗?

4

3 回答 3

0

你可以这样试试:

parameterMap: function (options, operation, data) {
                  if (operation === "read") {
                      return  models: kendo.stringify(options.models);
                 }
             }

在控制器端

public virtual JsonResult SomeMethod([DataSourceRequest] DataSourceRequest request)
{
    /*
        Your logic goes here
    */
    return Json(returnValue.ToDataSourceResult(request));
}
于 2014-05-02T05:11:09.220 回答
0

MVC Wrapper 不允许您指定参数映射,它使用不应更改的预定义参数映射。而是考虑通过读取配置的数据功能发送额外的参数。

于 2014-05-02T20:41:33.937 回答
0

举例说明上面给出的答案:

 Read(read => read.Action("Read", "Calendar").Data("getAdditionalData"))

以及您想要实现的 Javascript 函数:

function getAdditionalData() {
    var scheduler = $("#scheduler").data("kendoScheduler");

    var timezone = scheduler.options.timezone;
    var startDate = kendo.timezone.convert(scheduler.view().startDate(), timezone, "Etc/UTC");
    var endDate = kendo.timezone.convert(scheduler.view().endDate(), timezone, "Etc/UTC");

    var result = {
        Start: new Date(startDate.getTime() - (startDate.getTimezoneOffset() * kendo.date.MS_PER_MINUTE)),
        End: new Date(endDate.getTime() - (endDate.getTimezoneOffset() * kendo.date.MS_PER_MINUTE) + kendo.date.MS_PER_DAY)
    }

    return result;
}
于 2016-02-12T19:24:44.237 回答