• Basics
  • Abyss
  • Web APIs
  • C# & Razor
  • .net API
  • JS & TS API

    Show / Hide Table of Contents

    Dynamic Code API

    Every C# file in 2sxc is Dynamic Code as it's compiled on-the-fly and has a lot of helpers to work with Dynamic Data.

    you are here (click to zoom) - discover the stack

    The following APIs are available on all 2sxc Dynamic Code. You can use this in:

    1. Razor
    2. WebAPI Controllers
    3. Helper Code files

    Discover More in the Razor Tutorials

    We have an rich series of Razor tutorials. You should really check them out 👍.

    Instance Data in Dynamic Code

    Note

    Instance specific data belongs to the module-instance on the page, either because it was added manually as Content or because the View of the module-instance uses a Query.

    Best read about App vs. Instance Data and Where Data Comes From

    1. Content
      The primary and often the only content-items for this template.
    2. Content.Presentation
      Can contain additional presentation settings for this content, like how to format it.
    3. Data
      One or more Streams (lists) of zero-or-more content items
    4. Header
      The header data if the template expects to be a list and also needs a title or intro.
    5. Header.Presentation
      Can contain additional presentation settings for the header, like how to format it.

    App and App-Data Objects

    1. App
      The current App with Settings, Resources, Path information and more.
    2. App.Data
      All the data of the current app for immediate use, fully cached in memory of the web server.
    3. App.Query
      Queries which were created using VisualQuery and can be run to access prepared data.

    General Objects

    1. CmsContext
      Information about the system, page, module etc.
    2. Dnn
      The common Dnn object providing page, module, user information
    3. Edit
      Helper providing you with various edit-functionality like Toolbar(...)
    4. Link
      Helper to generate links, according to the Dnn-environment configuration

    Conversion Commands

    1. AsAdam(...)
      Gives you the ADAM parts (files, images, folders) of a field.
    2. AsDynamic(entity) - takes just about anything (an iEntity, a list of iEntities, a dynamic, ...) and casts it to a DynamicEntity
    3. AsDynamic(jsonString)
    4. AsList(listOfEntities)
    5. AsEntity(...) - takes just about anything (iEntity, DynamicEntity, list of that) and casts it to an iEntity

    Helper Commands provided by 2sxc

    • CreateInstance(...)
      To create an object of a parsed CSHTML file, for example to then access methods of that code
    • CreateSource<T>()
      Get a DataSource object of type T (like filters, sorting, etc.)
    • GetService<T>() Get a Service to help you (using Dependency Injection)

    Important Notes

    Important

    Your code must inherit the correct base class to get this API. You'll find the correct base classes in the documentations for Razor and Web API.

    • Improve this Doc
    Back to top Generated by DocFX