Per Nergård (MVP)
+1
Sep 21, 2015
visibility 2323
star star star star star
(1 votes)

WebControl for bootstraprows and contentareas

If there still are anyone out there using forms maybe this can be of some use.

Scenario is that you have a template with:

  • One or many rows, with different combinations of content areas and other properties.
  • All properties are rendered as columns.
  • None of the properties are required.
  • We assume that the editors either add values to all properties in a row or add no values at all.

If the editor doesn't add values to atleast one of the properties in a row we would end up with a empty bootstrap row which we don't want to.

To avoid having to write codebehind code to handle this I did a webcontrol. The webcontrol checks all inner properties (which must be of type EPiServer:Property) and if all are empty the row isn't rendered.

Example:

<Nergard:BootstrapRow CssClass="row" runat="server">
    <EPiServer:Property PropertyName="ContentArea" runat="server" CustomTagName="div" CssClass="col-md-6"/>
    <EPiServer:Property PropertyName="MainBody" runat="server" CustomTagName="div" CssClass="col-md-6"/ />
</Nergard:BootstrapRow>

You can use both the PageLink and PageLinkPropertyName attributes in the EPiServer:Property if you want to use them.

Code over at GitHub Gist:  Code.

Sep 21, 2015

Comments

error Please login to comment.
Latest blogs
Optimizely: Upgrade Opti-ID and .NET 10 in CMS 12

Many Optimizely customers are planning their roadmap around a future migration to Optimizely CMS 13. As a result, upgrades such as Opti ID adoption...

Madhu | Jun 23, 2026 |

Understanding Optimizely Graph: Caching, Webhooks & Avoiding Stale Content (Optimizely SaaS CMS)

📌 Scope: This post covers Optimizely CMS (SaaS) only — using the official @optimizely/cms-sdk and @optimizely/cms-cli packages with Next.js 15. If...

Kiran Patil | Jun 23, 2026 |

Optimizely Content APIs: the Setup the Docs Don't Walk You Through

CMS 13 is pushing things firmly in the direction of Optimizely Graph, but plenty of teams are still running on older CMS versions, or have good...

Andre | Jun 22, 2026

Translating content in Optimizely CMS with Anthropic Claude

An add-on with an Anthropic translator provider that lets you translate content in Optimizely CMS using Anthropic Claude.

Tomas Hensrud Gulla | Jun 20, 2026 |

Controlling Optimizely Forms Cookie Expiration in .NET Core

Learn how to make Optimizely Forms cookies behave as session cookies in CMS 12+ (.NET Core) using a simple middleware - and why the official...

Henning Sjørbotten | Jun 19, 2026 |

ReloadOnChange in Optimizely CMS: The Attribute Nobody Talks About

Optimizely CMS has a little-known attribute that reloads the editor when a property changes — perfect for dependent dropdowns and checkboxes. Here ...

WilliamP | Jun 19, 2026 |