0

我想在我的調度器劍道調度使用劍道MVC包裝的參數圖,使用MVC包裝劍道調度

目前我使用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。 可以做嗎?

回答

0

MVC包裝不允許你指定parameterMap的,它使用預定義的parameterMap的不應該被改變。請考慮通過Read配置的Data函數發送額外的參數。

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)); 
} 
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; 
}