我正在使用带有Web服务绑定的Telerik RadScheduler。
当我将约会拖到另一个时间段时,我在OnClientAppointmentMoveEnd
中进行了一些客户端验证,如果成功,我设置args.set_cancel(true);
然后点击我的网络服务方法UpdateAppointment
。
此Web服务调用中的服务器端代码然后根据数据库查询执行一些额外的验证。
我的问题是 - 如果此服务器端验证失败,我如何让客户端约会回到原来的位置?我可以在OnClientRequestFailed
中捕获状态或消息,但有没有办法在Web服务调用后取消移动事件,或者将约会移回?
答案 0 :(得分:0)
我刚刚找到了自己的答案 -
调用UpdateAppointment
Web方法后,调度程序将再次调用GetAppointments
,因此应在客户端重新加载正确的数据。
对于其他可能会觉得有用的人:
MySchedulerResult
的{{1}}类,SchedulerOperationResult<AppointmentData>
属性。ErrorMessage
Web方法返回此MySchedulerResult,并将从UpdateAppointment
返回的约会分配给它。它检查会话以查看是否发生了验证错误,并将Provider.UpdateAppointment
属性设置为此值(如果找到)。ErrorMessage
方法解压缩此结果并弹出错误消息(如果找到)。同时,约会数据正在重新加载,并且应该在原来的时间段内更改预约。我在此处找到了有关调度程序结果类的更多信息:http://docs.telerik.com/devtools/aspnet-ajax/controls/scheduler/web-service-binding/returning-extra-data-from-the-web-service