UpdatePanel.CreateContentTemplateContainer Yöntem

Tanım

Control Denetimin içeriğini tanımlayan UpdatePanel alt denetimler için kapsayıcı işlevi gören bir nesne oluşturur.

protected:
 virtual System::Web::UI::Control ^ CreateContentTemplateContainer();
protected virtual System.Web.UI.Control CreateContentTemplateContainer();
abstract member CreateContentTemplateContainer : unit -> System.Web.UI.Control
override this.CreateContentTemplateContainer : unit -> System.Web.UI.Control
Protected Overridable Function CreateContentTemplateContainer () As Control

Döndürülenler

Control Denetimin UpdatePanel içeriği için bir kapsayıcı.

Örnekler

Aşağıdaki örnekte, panelin CreateContentTemplateContainer içeriği için ve UpdatePanel öğelerini her zaman işlemek için özel <fieldset> denetimde <legend> yönteminin nasıl geçersiz kılınacakları gösterilmektedir. Özel UpdatePanel denetim, öğesinin içinde GroupingText dize değişmez değeri olan adlı <legend> bir ortak özelliği tanımlar.

adlı özel UpdatePanel denetim, yöntemini türetir CustomUpdatePanel ve geçersiz kılarUpdatePanel.CreateContentTemplateContainer CustomUpdatePanel Sınıf kaynak kodunu Web sitesinin App_Code klasörüne yerleştirin.

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();
            }
        }
    }
}
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
            Get
                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)

                writer.RenderBeginTag(HtmlTextWriterTag.Fieldset)
                writer.RenderBeginTag(HtmlTextWriterTag.Legend)
                writer.Write(_displayText)
                writer.RenderEndTag()
                MyBase.Render(writer)
                writer.RenderEndTag()
            End Sub

        End Class
    End Class
End Namespace

Özel UpdatePanel denetim, aynı denetim olduğu gibi UpdatePanel sayfada da kullanılır. Aşağıdaki örnekte özel UpdatePanel denetimi içeren bir sayfa gösterilmektedir.

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

Açıklamalar

Bu yöntem, denetimi genişletmek UpdatePanel isteyen denetim geliştiricileri tarafından kullanılmak üzere tasarlanmıştır. Örneğin, türetilmiş sınıflarda, denetiminizin içeriği için kapsayıcı işlevi gören farklı bir kök denetimi sağlayabilirsiniz UpdatePanel . Varsayılan uygulama bir Control nesne döndürür.

Şunlara uygulanır

Ayrıca bkz.