kendo-ui - 无法将数据绑定(bind)到 Kendo Scheduler

标签 kendo-ui kendo-asp.net-mvc kendo-scheduler

我已经在 View 中显示了这个 Kendo Scheduler,但没有任何数据。

View 上的调度程序:

@(Html.Kendo().Scheduler<ProjName.Models.ScheduleInspectionModel>()
    .Name("scheduler")
    .Views(views =>
    {
        views.DayView();
        views.WorkWeekView();
        views.WeekView();
        views.MonthView(mv => mv.Selected(true));
        views.AgendaView();
    })
    .Timezone("Etc/UTC")
    .DataSource(d => d
        .Read("ControllerName", "GetScheduleInspections")
    )
)

数据源调用以下 Controller 方法:

public ActionResult GetScheduleInspections([DataSourceRequest]DataSourceRequest request)
{
    ScheduleInspectionModel sim = new ScheduleInspectionModel();
    var gsio = sim.getScheduleInspections();

    List<ScheduleInspectionModel> list = new List<ScheduleInspectionModel>();

    if (gsio.scheduleinspections != null)
    {
        foreach (wsScheduleInspection.scheduleInspectionOutput scheduleInspection in gsio.scheduleinspections)
        {
            ScheduleInspectionModel sim2 = new ScheduleInspectionModel
            {
                GlobalEquipConditionId = scheduleInspection.globalEquipmentCondition.id,
                Description = scheduleInspection.globalEquipmentCondition.code,
                Start = DateTime.Now,
                End = DateTime.Now.AddHours(2),
                Title = scheduleInspection.globalEquipmentCondition.code,
                IsAllDay = true

            };

            list.Add(sim2);
        }
    }
    return Json(list.ToDataSourceResult(request));
}

但是这个方法永远不会运行,尽管它位于 Scheduler Datasource 属性上。它应该运行该方法并返回检查列表。我不知道为什么该方法没有被击中。例如,对于 Kendo Grid,一旦页面加载,就会调用数据源读取上的方法。

最佳答案

尝试确保您的定义包含这两项,因为我认为它们是必需的。

.Date(new DateTime(2013, 6, 13))
.StartTime(new DateTime(2013, 6, 13, 7, 00, 00))

编辑

我能够让以下代码工作:

型号

// NOTE: It's important that your model class implements ISchedulerEvent
public class TaskViewModel : ISchedulerEvent
{
    public string Title { get; set; }
    public string Description { get; set; }
    public bool IsAllDay { get; set; }
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
    public string StartTimezone { get; set; }
    public string EndTimezone { get; set; }
    public string RecurrenceRule { get; set; }
    public string RecurrenceException { get; set; }
}

SchedulerController.cs

public class SchedulerController : Controller
{
    // GET: Scheduler
    public ActionResult Index()
    {
        var model = new SchedulerViewModel();

        // In this case, it doesn't matter what this model is really since we're using AJAX binding
        return View(model);
    }

    // I usually have my binding methods for Kendo use HttpPost
    [HttpPost]
    public ActionResult GetData([DataSourceRequest] DataSourceRequest request)
    {
        var data = new List<TaskViewModel>
            {
                new TaskViewModel
                    {
                        Start = new DateTime(2014, 12, 1, 8, 0, 0),
                        End = new DateTime(2014, 12, 1, 17, 0, 0),
                        Title = "Task 1"
                    }
            };

        return Json(data.ToDataSourceResult(request));
    }
}

Index.cshtml( View )

@(Html.Kendo().Scheduler<TaskViewModel>()
    .Name("scheduler")
    .Views(views =>
    {
        views.DayView();
        views.WorkWeekView();
        views.WeekView();
        views.MonthView(mv => mv.Selected(true));
        views.AgendaView();
    })
    .Timezone("Etc/UTC")
    .DataSource(d => d
        .Read("GetData", "Scheduler")
    ))

如果这对你不起作用,我会确保你的版本(Kendo、jQuery 等)是正确的。希望这会有所帮助。

关于kendo-ui - 无法将数据绑定(bind)到 Kendo Scheduler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27228036/

相关文章:

jquery - 带有复选框的列表框,带有全选选项

javascript - 如何在 javascript 中获取 Kendo().TextBoxFor 值?

javascript - 剑道图表分组错误

jquery - 在拖放时让 Kendo Treeview 复制节点

asp.net-mvc - 使用 ASP .NET MVC 编辑 Kendo UI 网格时重定向

kendo-ui - 如何使用调度程序将 DropDownList 绑定(bind)到编辑器模板内的数据源?

validation - 如何使用kendo验证器验证多封电子邮件?

checkbox - 剑道网格 : Column Header Checkbox 'Check All' that checks boxes across grid all pages

asp.net-mvc - 在哪里可以找到 Kendo.Mvc.Examples.Models

javascript - 我可以为 KendoScheduler 数据源硬编码数据吗?