1

我正在使用剑道调度程序中的资源,例如:

group: {
  resources: ["Rooms"]
},
  resources: [
{
  name:"Rooms",
  title: "Room",
  field: "RoomID",
  dataSource: {
    autoSync: true,
    transport:
    {
    read: { url: "@Html.Raw(Url.Action("Filter_Rooms", "Room", new{
                                    pFilter = false,
                                    pCapacity = 25,
                                    pBeamer = true,
                                    pTelevision = false
                                         }))",dataType: "json" }
                            }
                    }
},

现在我想根据用户的输入过滤资源。所以我尝试使用javascript:

$("#btnFilter").click(function () {
 if (chkBeamer.checked){
      pbeamer = true;
      sessionStorage
     }
 else {
      pbeamer = false;
     }
 var scheduler = $("#scheduler").data("kendoScheduler");
 scheduler.dataSource.transport.options.read.url = Room/Filter_Rooms/true/25/false";
 scheduler.dataSource.read();
});

目标:更改调度程序的资源数据源传输读取中的参数。为了动态过滤资源并使用符合过滤器的资源或房间更新调度程序。

我在这篇文章中看到了这一点: Kendo UI Dynamically Change Datasource String (XML)

但是当我尝试将其用于我的情况时,它不起作用并且出现错误:加载资源失败:服务器响应状态为 405(不允许方法)。无法找到该资源。

我正在使用这个函数在我的控制器中过滤(它工作得很好,硬编码......)

public ActionResult Filter_Rooms(bool pFilter, int pCapacity, bool pBeamer, bool Television)
  {
  using (var sampleDB = db)
      {
      if (pFilter){
      IQueryable<RoomViewModel> rooms = sampleDB.Spaces.ToList().Where(r => r.roomCapacity == pCapacity && r.roomBeamer == pBeamer && r.roomCapacity == 25 && r.roomTelevision == false).ToList().Select(room => new RoomViewModel(){
                      roomID = room.Id,
                      text = room.roomName,
                      color = room.roomColor,
                      value = room.Id
                  }).AsQueryable();
                    return Json(rooms.ToList(), JsonRequestBehavior.AllowGet);
      }
      else{
      IQueryable<RoomViewModel> rooms = sampleDB.Spaces.ToList().Select(room => new RoomViewModel(){
                    roomID = room.Id,
                    text = room.roomName,
                    link = "google.be",
                    color = room.roomColor,
                    value = room.Id
                  }).AsQueryable();
                    return Json(rooms.ToList(), JsonRequestBehavior.AllowGet);
             }
}

}

那么如何动态更改这些参数来过滤调度程序的资源呢?

4

0 回答 0