我正在使用Umbraco 7.8.1
我添加了自定义事件处理程序,以防止保存数据以在日期选择器中验证将来的日期
ContentService.Saving += delegate (IContentService sender, SaveEventArgs<IContent> args)
{
foreach (var content in args.SavedEntities.Where(c => c.ContentType.Alias.Equals("profile")))
{
var birthDate = Convert.ToDateTime(content.Properties["birthDate"].Value);
if (DateTime.Compare(birthDate ,DateTime.Now) > 0)
{
args.CancelOperation(new EventMessage("Invalid Date of Birth", "You can not add futuer date...", EventMessageType.Error));
}
}
}
它显示错误消息,但也会引发异常
Umbraco.Web.Editors.ContentController-发生未处理的控制器异常 System.Web.Http.HttpResponseException:HTTP请求的处理导致异常。有关详细信息,请参见此异常的'Response'属性返回的HTTP响应。
,然后将页面重定向到url: http://domain.in/umbraco/#/content/content/edit/0
请帮助我解决此问题。
答案 0 :(得分:0)
也许只是使用args.Cancel = true;代替?
然后通过args.Messages.Add(...);添加您的自定义消息
我认为应该可以,但是我尚未对其进行测试。