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 Overridable Function CreateContentTemplateContainer As Control

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.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace SamplesVB
    Public Class CustomUpdatePanel : Inherits System.Web.UI.UpdatePanel

        Public CustomUpdatePanel()

        Private _groupingText As String

        Public Property GroupingText() As String
                Return _groupingText
            End Get
            Set(ByVal value As String)
                _groupingText = value
            End Set
        End Property

        Protected Overrides Function CreateContentTemplateContainer() As Control
            Dim myContentTemplateContainer As MyContentTemplateContainer
            myContentTemplateContainer = New MyContentTemplateContainer(_groupingText)
            Dim myControl As Control
            myControl = myContentTemplateContainer
            Return myControl
        End Function

        Private NotInheritable Class MyContentTemplateContainer : Inherits Control

            Private _displayText As String
            Public Sub New(ByVal groupingText As String)
                _displayText = groupingText
            End Sub

            Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

            End Sub

        End Class
    End Class
End Namespace

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="VB" %>
<%@ 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