CMS 10.6 ICE Functionality Best Practices


Use In-Context Editing (ICE) best practices to improve user experience and to streamline editing processes. Keep in mind that, if developers choose not to follow these practices, ICE users may encounter conflicts in the interface.

To enhance ICE functionality, we strongly recommend the following:

  • When working with @id attributes in the layout of ASP.NET page views, keep these items in mind.
    • Add at least one HTML @id attribute within the HTML of each page view.
    • Place the HTML @id attributes on a primary container, such as a <div> element that wraps around an area of the page design (e.g., the main content container).
    • Ensure that each container for the various discrete parts of the view layout (e.g., left,right, and center columns) has a unique HTML @id attribute value added to their markup in the view.
  • When working with partial views, use the ICMSElement object type for their model. For example:
    @model Ingeniux.Runtime.ICMSElement

    Regardless of whether the object passed from the page view is a more specified type, using a different object type as the model in the partial view may cause errors on update. These errors may the prevent updated elements from rendering in ICE.

  • Do not wrap an element model in ViewDictionary for ICE field view calls.
  • Do not enable ICE for a dynamic script manipulated DOM node (e.g., Boostrap component or Angular component).