我遇到使用Kendo UI调度程序的问题,
当我安排任务时,
Kendo UI开始和结束日期未在服务器端返回。
开始和结束日期始终返回默认日期。
这是剃刀代码:
@model IEnumerable<Web.Models.PlantColor>
@{
ViewBag.Title = "Schedule View";
}
<h2>Schedule View</h2>
@(Html.Kendo().Scheduler<WorkScheduler.Web.Models.KendoSchedular>()
.Name("scheduler")
.Date(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day))
.StartTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 08, 00, 00))
.Height(600)
.Views(views =>
{
views.DayView();
views.WorkWeekView();
views.WeekView();
views.MonthView();
views.AgendaView();
})
.Resources(resource =>
{
resource.Add(m => m.PlantId)
.Title("Owner")
.DataTextField("Text")
.DataValueField("Value")
.DataColorField("Color")
.BindTo(Model);
})
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.id);
})
.Read("ReadSchedule", "ScheduleView")
.Create("CreateSchedule", "ScheduleView")
.Destroy("Destroy", "ScheduleView")
.Update("Update", "ScheduleView")
)
)
答案 0 :(得分:0)
确保您在模型中定义了要回发的开始和结束字段(模型继承自ISchedulerEvent):
public class CalendarAppointmentViewModel : ISchedulerEvent
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Recurrence { get; set; }
public string StartTimezone { get; set; }
public string EndTimezone { get; set; }
private DateTime start;
public DateTime Start
{
get
{
return start;
}
set
{
start = value.ToUniversalTime();
}
}
private DateTime end;
public DateTime End
{
get
{
return end;
}
set
{
end = value.ToUniversalTime();
}
}
public string RecurrenceRule { get; set; }
public int? RecurrenceID { get; set; }
public string RecurrenceException { get; set; }
public bool IsAllDay { get; set; }
答案 1 :(得分:0)
我可以看到这个问题已被接受为最佳答案。对于那些努力从Kendo Scheduler编辑返回开始/结束日期的人来说,也许以下可能也会有所帮助。
我有同样的问题,并按照这里提供的解决方案,仍然没有成功。在我的案例中,定义文化并创建一个继承自&#34; ISchedulerEvent&#34;仍在Create&amp ;;中将默认日期返回到服务器端更新Controller的事件处理程序方法。
对我来说问题是缺少.js文件。 kendo.timezones.min.js
因此,对于像我这样穿着同样鞋子的人,请查看项目中的Scripts文件夹,如果缺少该.js文件。
请在设置项目时遵循these steps。