UpdatePanel.CreateContentTemplateContainer Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates a Control object that acts as a container for child controls that define the UpdatePanel control's content.

Namespace:   System.Web.UI
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

protected virtual Control CreateContentTemplateContainer()

Return Value

Type: System.Web.UI.Control

A Control container for the UpdatePanel control's content.

This method is intended for use by control developers who want to extend the UpdatePanel control. For example, in derived classes, you can provide a different root control that acts as a container for your UpdatePanel control's content. The default implementation returns a Control object.

The following example shows how to override the CreateContentTemplateContainer method in a custom UpdatePanel control to always render the <fieldset> and <legend> elements for the panel's content. The custom UpdatePanel control defines a public property named GroupingText that is a string literal inside the <legend> element.

A custom UpdatePanel control named CustomUpdatePanel derives from UpdatePanel and overrides the CreateContentTemplateContainer method. Put the CustomUpdatePanel class source code in the Web site's App_Code folder.

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SamplesCS
    public class CustomUpdatePanel : System.Web.UI.UpdatePanel
        public CustomUpdatePanel()

        private String _groupingText;
        public String GroupingText
            get { return _groupingText; }
            set { _groupingText = value; }

        protected override Control CreateContentTemplateContainer()
            MyContentTemplateContainer myContentTemplateContainer =
                new MyContentTemplateContainer(_groupingText);
            return myContentTemplateContainer;
        private sealed class MyContentTemplateContainer : Control
            private String _displayText;
            public MyContentTemplateContainer(string groupingText)
                _displayText = groupingText;
            protected override void Render(HtmlTextWriter writer)


The custom UpdatePanel control is used on the page just as the UpdatePanel control is. The following example shows a page that contains the custom UpdatePanel control.

<%@ Page Language="C#" %>
<%@ Register Namespace="SamplesCS" TagPrefix="Samples" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CreateContentTemplateContainer Example</title>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1"
                           runat="server" />
        <Samples:CustomUpdatePanel ID="UpdatePanel1"
                                   GroupingText="This is an UpdatePanel."
                <asp:Calendar ID="Calendar1"
                              runat="server" />

.NET Framework
Available since 3.5
Return to top