UpdatePanel.CreateContentTemplateContainer Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Control Vytvoří objekt, který funguje jako kontejner podřízených ovládacích prvků, které definují UpdatePanel obsah ovládacího prvku.
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
Návraty
Kontejner Control pro UpdatePanel obsah ovládacího prvku.
Příklady
Následující příklad ukazuje, jak přepsat metodu CreateContentTemplateContainer ve vlastním UpdatePanel ovládacím prvku, aby vždy vykreslovat <fieldset>
a <legend>
prvky pro obsah panelu. Vlastní UpdatePanel ovládací prvek definuje veřejnou vlastnost s názvem GroupingText
řetězcový literál uvnitř elementu <legend>
.
Vlastní UpdatePanel ovládací prvek pojmenovaný CustomUpdatePanel
odvozuje UpdatePanel a přepíše metodu CreateContentTemplateContainer . CustomUpdatePanel
Vložte zdrojový kód třídy do složky App_Code webu.
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
Vlastní UpdatePanel ovládací prvek se používá na stránce stejně jako UpdatePanel ovládací prvek. Následující příklad ukazuje stránku, která obsahuje vlastní UpdatePanel ovládací prvek.
<%@ 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>
Poznámky
Tato metoda je určena pro řízení vývojářů, kteří chtějí rozšířit UpdatePanel ovládací prvek. Například v odvozených třídách můžete zadat jiný kořenový ovládací prvek, který funguje jako kontejner pro UpdatePanel obsah ovládacího prvku. Výchozí implementace vrátí Control objekt.