Sitefinity ASP.NET CMS can be extended very easily using traditional ASP.NET UserControls. Once a UserControl is added to Sitefinity, Sitefinity will automatically generate a web admin interface. This interface allows editors to edit any public properties found in the User Control.
Below is a very simple ASP.NET UserControl with two public properties (Text, Color). These two properties can be used to display text in a chosen color.
~/Custom/UserControls/ColoredText.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ColoredText.ascx.cs" Inherits="Custom_UserControls_ColoredText" %>
<div id="Div1" runat="server"><asp:Literal ID="Literal1" runat="server" /></div>
~/Custom/UserControls/ColoredText.ascx.cs
using System;
public partial class Custom_UserControls_ColoredText : System.Web.UI.UserControl
{
public string Text { get; set; }
public string Color { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
Div1.Style.Add("color", Color);
Literal1.Text = Text;
}
} Sitefinity will automatically generate the following web admin interface for this control:

This UserControl causes the following HTML to be generated:
<div style="color:Red;">Hello world</div>
Using Dropdowns to Avoid Mistakes
This UserControl works fine until ...