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 onMyContext
, 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 onMyContext.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 onMyContext.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 onMyPage
- ICmsPlatform
General platform information
🪒 In Dynamic Razor it's found on
CmsContext.Platform
🪒 In Typed Razor it's found onMyContext.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 onMyContext.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 onMyUser
- ICmsView
View context information.
🪒 In Dynamic Razor it's found on
CmsContext.View
🪒 In Typed Razor it's found onMyView
- ICmsView<TSettings, TResources>
Special Views for strongly typed code. It supplies the Settings and Resources as strongly typed objects.
- 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 onMyPage.Parameters
Enums
- PlatformType
The types of platforms which 2sxc could be running on