Namespace ToSic.Sxc.Context
Context information for the current request / scenario.
The Context gives your code information about the page / site / module etc. it's currently running in. All your code (Razor, WebApi) will have a property CmsContext
which is of type ICmsContext.
Note
Your code will always have these objects, but they may sometimes be referencing unknown information.
For example, if the current context doesn't have a known Module (like in API scenarios)
then CmsContext.Module
will return a valid object, but the ID will be < 0.
Interfaces
ICmsContext
This is the runtime context of your code in the CMS. It can tell you about the site, page, module etc. that you're on. Note that it it Platform Agnostic so it's the same on Dnn, Oqtane etc.
🪒 In Dynamic Razor it's found on CmsContext
🪒 In Typed Razor it's found on MyContext
, but many objects are directly available, eg. MyPage
ICmsCulture
Information about the cultures/languages used.
🪒 In Dynamic Razor it's found on CmsContext.Culture
🪒 In Typed Razor it's found on MyContext.Culture
ICmsModule
Information about the module context the code is running in.
🪒 In Dynamic Razor it's found on CmsContext.Module
🪒 In Typed Razor it's found on MyContext.Module
ICmsPage
Information about the page which is the context for the currently running code.
🪒 In Dynamic Razor it's found on CmsContext.Page
🪒 In Typed Razor it's found on MyPage
ICmsPlatform
General platform information
🪒 In Dynamic Razor it's found on CmsContext.Platform
🪒 In Typed Razor it's found on MyContext.Platform
ICmsSite
The site context of the code - so basically which website / portal it's running on.
🪒 In Dynamic Razor it's found on CmsContext.Site
🪒 In Typed Razor it's found on MyContext.Site
ICmsUser
The user context of your code - so it's information about the user your code is using.
🪒 In Dynamic Razor it's found on CmsContext.User
🪒 In Typed Razor it's found on MyUser
ICmsView
View context information.
🪒 In Dynamic Razor it's found on CmsContext.View
🪒 In Typed Razor it's found on MyView
IParameters
Collection of url parameters of the current page
Note: Has a special ToString() implementation, which gives you the parameters for re-use in other scenarios.
🪒 In Dynamic Razor it's found on CmsContext.Page.Parameters
🪒 In Typed Razor it's found on MyPage.Parameters
Enums
PlatformType
The types of platforms which 2sxc could be running on