AdvantageModule Class
Base class for all AdvantageCSP modules. Provides access to page-level properties (domain, language, navigation),
script registration, inter-module event broadcasting, caching, and object locking.
Namespace:
AdvantageCMS.Core.Common.BaseClassesAssembly: AdvantageCMS.Core (in AdvantageCMS.Core.dll)
Examples
C#
public class HeroBannerModule : AdvantageModule { protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!IsPostBack) { // Access domain-level settings via SiteSettings var settings = SiteSettings<MySiteSettings>(); string heroTitle = settings.DefaultHeroTitle; // Access current domain and language var domainName = CurrentDomain.Name; var languageCode = CurrentLanguage.CultureCode; // Register a script at the bottom of the page RegisterBottomScript("hero-init", $"<script nonce='{CSPNonce}'>initHero('{heroTitle}');</script>"); // Broadcast an event so other modules know the hero is loaded var args = new Hashtable { { "Title", heroTitle } }; BroadcastEvent("HeroBannerLoaded", args); } } // Receive events from other modules on the page public override void ReceiveEvent(string eventId, Hashtable eventArgs) { if (eventId == "ThemeChanged") { string newTheme = eventArgs["Theme"]?.ToString(); // React to theme changes from another module } } }
Inheritance Hierarchy
Control
TemplateControl
UserControl
AdvantageCMS.Core.Common.BaseClasses..::..AdvantageModule

