Sitefinity is very easy to extend using normal ASP.NET user controls. After a user control is added to the Sitefinity toolbox, Sitefinity will automatically generate input fields for any public properties found in the control.
For example, the following ASP.NET user control contains two public properties (LinkText, LinkUrl):
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="HyperLink.ascx.cs" Inherits="UserControls_HyperLink" %>
<asp:HyperLink ID="HyperLink1" runat="server" />
using System;
public partial class UserControls_HyperLink : System.Web.UI.UserControl
{
private string _linkText = "Here is my link";
private string _linkUrl = "~/";
public string LinkText
{
get { return _linkText; }
set { _linkText = value; }
}
public string LinkUrl
{
get { return _linkUrl; }
set { _linkUrl = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
HyperLink1.NavigateUrl = LinkUrl;
HyperLink1.Text = LinkText;
}
} Sitefinity will generate two input fields (LinkText, LinkUrl) for this ASP.NET user control:
This works fine. In addition, by using Design-Time Attributes we can hide and/or ...