CancelOperation генерирует исключение из пользовательского обработчика событий в Umbraco - PullRequest
0 голосов
/ 27 июня 2018

Я использую 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-запроса возникла исключительная ситуация. Подробности смотрите в HTTP-ответе, возвращаемом свойством «Response» этого исключения.

и перенаправление страницы на URL: http://domain.in/umbraco/#/content/content/edit/0

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 27 июня 2018

Может быть, просто используйте args.Cancel = true; вместо этого?

А затем добавьте свое собственное сообщение через args.Messages.Add (...);

Должен работать, я думаю, но я не проверял.

...