Событие DeletedPage дает мне неправильную PageLink при очистке мусорной корзины

Я подключил событие DeletedPage в моем Global.asax так:

DataFactory.Instance.DeletedPage += this.Instance_DeletedPage;

И мой обработчик:

    private void Instance_DeletedPage(object sender, PageEventArgs pageEventArgs)
    {
        DeleteCustomerRoles(pageEventArgs.PageLink);
    }

Когда я перемещаю страницу в мусорную корзину, ничего не происходит, разумеется, поскольку она перемещается. Когда я удаляю страницу из мусорной корзины - происходит событие, и я получаю PageLink удаленной страницы в pageEventArgs,

Но... Когда я вместо этого выбираю мусорную корзину и нажимаю кнопку "Очистить мусорную корзину", я получаю PageLink, соответствующий мусорной корзине, а не моей удаленной странице!

Это особенность или ошибка? Я вижу, что есть какой-то список связанных страниц на объекте страницы в pageEventArgs, но я предполагаю, что все удаленные страницы (даже дочерние) вызовут событие DeletedPage. Разве это не правда?

2 ответа

Решение

Хорошо, это похоже на известное поведение:

http://world.episerver.com/Support/Bug-list-beta/bug/33750/

Несмотря на то, что есть параметр, позволяющий изменить некоторые особенности поведения, часть мусорной корзины остается. Я нахожу это действительно странным, но, похоже, мне придется искать в другом месте, чтобы найти обходной путь, чтобы действительно узнать, когда страница удаляется, независимо от того, как.

Кажется, это способ заставить это работать, о котором никто или мы, очевидно, не знали:

http://world.episerver.com/Forum/Developer-forum/-EPiServer-75-CMS/Thread-Container/2014/8/Datafactory-deleted-page-event1/

http://world.episerver.com/Forum/Developer-forum/-EPiServer-75-CMS/Thread-Container/2014/5/Bug-in-DeletingPage/

Надеюсь, вы найдете эту информацию полезной! /Мартин

Другие вопросы по тегам