Freigeben über


TemplateControl-Klasse

Stellt grundlegende Funktionen für die Page-Klasse und die UserControl-Klasse bereit.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public MustInherit Class TemplateControl
    Inherits Control
    Implements INamingContainer, IFilterResolutionService
'Usage
Dim instance As TemplateControl
public abstract class TemplateControl : Control, INamingContainer, IFilterResolutionService
public ref class TemplateControl abstract : public Control, INamingContainer, IFilterResolutionService
public abstract class TemplateControl extends Control implements INamingContainer, IFilterResolutionService
public abstract class TemplateControl extends Control implements INamingContainer, IFilterResolutionService

Hinweise

Bei der TemplateControl-Klasse handelt es sich um eine abstrakte Klasse, die allgemeine Eigenschaften und Methoden für die Page-Klasse und die UserControl-Klasse bereitstellt. Eine neue Instanz der TemplateControl-Klasse wird nicht direkt erstellt.

Die TemplateControl-Klasse definiert Methoden, die deklarative Datenbindungsausdrücke unterstützen:

  • Verwenden Sie die Eval-Methode für Datenbindungsausdrücke, die Datenquellen einschließen, z. B. einfache Eigenschaften oder Ausdrücke.

  • Verwenden Sie die XPath-Methode für die Analyse und die Auswertung von XPath-Datenbindungsausdrücken.

  • Verwenden Sie die XPathSelect-Methode für die Datenbindung anhand eines Ausdrucks, der eine select-XPath-Anweisung enthält. Das Ergebnis ist eine Knotenauflistung, die die IEnumerable-Schnittstelle implementiert.

Weitere Informationen zu Datenbindungsausdrücken finden Sie unter Syntax für Datenbindungsausdrücke und Binden an Datenbanken.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Steuerelement mit dem Namen MyControl von der TemplateControl-Klasse abgeleitet und die Construct-Methode überschrieben wird. Wenn MyControl initialisiert wird, wird die überschriebene Construct-Methode aufgerufen.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

' The custom user control class.
<AspNetHostingPermission(SecurityAction.Demand, _
   Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class MyControl
   Inherits UserControl
   ' Create a Message property and accessors.
   Private _message As String = Nothing
   
   Public Property Message() As String
      Get
         Return _message
      End Get
      Set
         _message = value
      End Set
   End Property
   
   ' Create an event for this user control and
   ' name it myControl.
   Public Event myControl As System.EventHandler
   
   
   ' Override the default constructor.
   Protected Overrides Sub Construct()
      ' Specify the handler, MyInit, to be called when the myControl event
      ' is raised by the OnInit method.
      AddHandler Me.myControl, AddressOf MyInit
   End Sub 'Construct
   
   
   Protected Overrides Sub OnInit(e As EventArgs)
      RaiseEvent myControl(Me, e)
      Response.Write("The OnInit() method is used to raise the Init event.")
   End Sub 'OnInit
   
   
   ' Use the MyInit handler to set the Message property value
   ' when this method is called.
   Sub MyInit(sender As Object, e As System.EventArgs)
      _message = "Hello World!"
   End Sub 'MyInit
   
   ' Write the value of the Message property when the control
   ' is rendered.
   Protected Overrides Sub Render(output As HtmlTextWriter)
      output.Write(("<br>Message :" & _message))
   End Sub 'Render
 End Class 'MyControl
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Permissions;


 // The custom user control class.
 [AspNetHostingPermission(SecurityAction.Demand, 
   Level=AspNetHostingPermissionLevel.Minimal)]
 public class MyControl:UserControl
 {
   // Create a Message property and accessors.
   private string _message = null;
   public string Message
   {
      get
      {
         return _message;
      }
      set
      {
         _message = value;
      }
   }

   // Create an event for this user control and
   // name it myControl.
   public event System.EventHandler myControl;

   // Override the default constructor.
   protected override void Construct()
   {
      // Specify the handler, MyInit, to be called when the myControl event
      // is raised by the OnInit method.
      this.myControl += new System.EventHandler(MyInit);    
   }

   protected override void OnInit( EventArgs e)
   {
      myControl(this ,e);
      Response.Write("The OnInit() method is used to raise the Init event.");
   }

   // Use the MyInit handler to set the Message property value
   // when this method is called.
   void MyInit(object sender,System.EventArgs e)
   {
      _message = "Hello World!";
   }

   // Write the value of the Message property when the control
   // is rendered.
   protected override void Render(HtmlTextWriter output) 
   {
      output.Write("<br>Message :" + _message);
   }
 }

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.Web.UI.Control
    System.Web.UI.TemplateControl
       System.Web.UI.Page
       System.Web.UI.UserControl

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

TemplateControl-Member
System.Web.UI-Namespace
Page-Klasse
UserControl