AdvantageCMS.Core.Common.BaseClasses Namespace
Build With Advantage

NavigationLifecycleHandler Class

Base class for external handlers that receive lifecycle callbacks for Navigation operations performed by CMSNavigationEngine. Tenant assemblies inherit this class and override only the hooks they need; the handler class is wired to a domain via the Lifecycle Handlers configuration (Configurations → Site → Lifecycle Handlers).

PreInsert/PostInsert, PreUpdate/PostUpdate, and PreMove/PostMove fire for several distinct engine methods each. The caller places a discriminator in ActionArgs.Attributes so the handler can tell them apart:

  • Attributes["InsertKind"]: "Plain" | "WithSort"
  • Attributes["UpdateKind"]: "Page" | "Name" | "Title" | "Link"
  • Attributes["MoveKind"]: "Above" | "Below" | "NewParent"

Every hook returns true to allow the operation and false to abort. Exceptions are caught by the engine, logged, and treated as a false return on Pre hooks. Post hooks run after the database write has committed and are not enclosed in the same transaction.

Namespace:  AdvantageCMS.Core.Admin.Extensibility
Assembly:  AdvantageCMS.Core (in AdvantageCMS.Core.dll)

Syntax


public abstract class NavigationLifecycleHandler

Inheritance Hierarchy


Object
  AdvantageCMS.Core.Admin.Extensibility..::..NavigationLifecycleHandler