<uc1:TitleTextControl ID="TitleTextControl1" runat="server"
TitleAreaCssClass="Header" TextAreaCssClass="Outline">
<TitleArea>Test title</TitleArea>
<TextArea>
Text area
<asp:Label runat="server" ID="label1">You can put any controls in here.</asp:Label>
</TextArea>
</uc1:TitleTextControl>
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="TitleTextControl.ascx.cs"
Inherits="TemplatedControlsExample.TitleTextControl" %>
<table>
<tr>
<td id="titleTD" runat="server"></td>
</tr>
<tr>
<td id="textTD" runat="server"></td>
</tr>
</table>
/// <summary>
/// User control to show how to add templated properties.
/// </summary>
[ParseChildren(true)]
public partial class TitleTextControl : System.Web.UI.UserControl, INamingContainer
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// The CSS class to use for the title area.
/// </summary>
public string TitleAreaCssClass
{
get { return this.titleTD.Attributes["class"]; }
set { this.titleTD.Attributes["class"] = value; }
}
/// <summary>
/// The CSS class to use for the text area.
/// </summary>
public string TextAreaCssClass
{
get { return this.textTD.Attributes["class"]; }
set { this.textTD.Attributes["class"] = value; }
}
/// <summary>
/// The Template property for the title area.
/// </summary>
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(INamingContainer))]
public ITemplate TitleArea
{
get { return _titleArea; }
set { _titleArea = value; }
} ITemplate _titleArea;
/// <summary>
/// The Template property for the text area.
/// </summary>
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(INamingContainer))]
public ITemplate TextArea
{
get { return _textArea; }
set { _textArea = value; }
} ITemplate _textArea;
/// <summary>
/// Default implementation for initializing the templated parts
/// </summary>
protected override void CreateChildControls()
{
if (TitleArea != null)
TitleArea.InstantiateIn(this.titleTD);
if (TextArea != null)
TextArea.InstantiateIn(this.textTD);
base.CreateChildControls();
}
}
<table>
<tr>
<td id="TitleTextControl1_titleTD" class="Header">Test title</td>
</tr>
<tr>
<td id="TitleTextControl1_textTD" class="Outline">
Text area
<span id="TitleTextControl1_label1">You can put any controls in here.</span>
</td>
</tr>
</table>