Export (0) Print
Expand All

UpdatePanel.CreateContentTemplateContainer Method

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)
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);
                writer.RenderBeginTag(HtmlTextWriterTag.Legend);
                writer.Write(_displayText);
                writer.RenderEndTag();
                base.Render(writer);
                writer.RenderEndTag();
            }
        }

    }
}

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" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5

Community Additions

ADD
Show:
© 2014 Microsoft