Partager via


Substitution Classe

Définition

Spécifie une section d’une page web mise dans le cache de sortie qui est exemptée de mise en cache. À cet emplacement, le contenu dynamique est récupéré et substitué au contrôle Substitution.

public ref class Substitution : System::Web::UI::Control
public class Substitution : System.Web.UI.Control
type Substitution = class
    inherit Control
Public Class Substitution
Inherits Control
Héritage
Substitution

Exemples

L’exemple de code suivant montre comment ajouter un Substitution contrôle de manière déclarative à une page Web mise en cache en sortie. Lorsque la page se charge, la date et l’heure actuelles sont affichées à l’utilisateur dans une étiquette. Cette section de la page est mise en cache et mise à jour uniquement toutes les 60 secondes. Lorsque le Substitution contrôle s’exécute, il appelle la GetCurrentDateTime méthode . La chaîne retournée par GetCurrentDateTime s’affiche à l’utilisateur. Cette section de la page n’est pas mise en cache et est mise à jour chaque fois que la page est actualisée.

<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="C#">  
  
  void Page_Load(object sender, System.EventArgs e)
  {
    // Display the current date and time in the label.
    // Output caching applies to this section of the page.
    CachedDateLabel.Text = DateTime.Now.ToString();    
  }
  
  // The Substitution control calls this method to retrieve
  // the current date and time. This section of the page
  // is exempt from output caching. 
  public static string GetCurrentDateTime (HttpContext context)
  {
    return DateTime.Now.ToString ();
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>Substitution Class Example</title>
</head>
<body>
  <form id="form1" runat="server">
  
    <h3>Substitution Class Example</h3>  
    
    <p>This section of the page is not cached:</p>
    
    <asp:substitution id="Substitution1"
      methodname="GetCurrentDateTime"
      runat="Server">
    </asp:substitution>
    
    <br />
    
    <p>This section of the page is cached:</p>
    
    <asp:label id="CachedDateLabel"
      runat="Server">
    </asp:label>
    
    <br /><br />
    
    <asp:button id="RefreshButton"
      text="Refresh Page"
      runat="Server">
    </asp:button>     

  </form>
</body>
</html>
<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="VB">  
  
  Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    ' Display the current date and time in the label.
    ' Output caching applies to this section of the page.
    CachedDateLabel.Text = DateTime.Now.ToString()
  End Sub
  
  ' The Substitution control calls this method to retrieve
  ' the current date and time. This section of the page
  ' is exempt from output caching. 
  Shared Function GetCurrentDateTime(ByVal context As HttpContext) As String
    Return DateTime.Now.ToString()
  End Function
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>Substitution Class Example</title>
</head>
<body>
  <form id="Form1" runat="server">
  
    <h3>Substitution Class Example</h3>  
    
    <p>This section of the page is not cached:</p>
    
    <asp:substitution id="Substitution1"
      methodname="GetCurrentDateTime"
      runat="Server">
    </asp:substitution>
    
    <br />
    
    <p>This section of the page is cached:</p>
    
    <asp:label id="CachedDateLabel"
      runat="Server">
    </asp:label>
    
    <br /><br />
    
    <asp:button id="RefreshButton"
      text="Refresh Page"
      runat="Server">
    </asp:button>     

  </form>
</body>
</html>

Remarques

Dans cette rubrique :

Introduction

Utilisez le Substitution contrôle pour spécifier une section sur une page Web mise en cache de sortie dans laquelle vous souhaitez que le contenu dynamique soit substitué au contrôle. Le Substitution contrôle offre une solution simplifiée à la mise en cache partielle des pages pour lesquelles la majorité du contenu est mise en cache. Vous pouvez mettre en cache la totalité de la page, puis utiliser Substitution des contrôles pour spécifier les parties de la page qui sont exemptes de mise en cache. Les régions mises en cache s’exécutent une seule fois et sont relues à partir du cache jusqu’à ce que l’entrée du cache expire ou soit vidée. Les régions dynamiques s’exécutent chaque fois que la page est demandée. Ce modèle de mise en cache simplifie le code des pages qui sont principalement statiques, car vous n’avez pas besoin d’encapsuler les sections à mettre en cache dans les contrôles utilisateur web. Par exemple, ce modèle de mise en cache est utile dans un scénario où vous avez une page qui contient du contenu statique, tel que des articles d’actualités, et un AdRotator contrôle qui affiche des publicités. Les articles d’actualités ne changent pas, ce qui signifie qu’ils peuvent être mis en cache. Toutefois, chaque fois qu’un utilisateur demande la page, vous souhaitez afficher une nouvelle publicité. Le AdRotator contrôle prend directement en charge la substitution post-cache et affiche une nouvelle publication chaque fois que la page revient, que la page soit ou non mise en cache.

Notes

Vous pouvez placer un Substitution contrôle dans un contrôle utilisateur contenu dans une page mise en cache. Toutefois, vous ne pouvez pas placer un Substitution contrôle dans un contrôle utilisateur mis en cache de sortie.

Lorsque le contrôle s’exécute Substitution , il appelle une méthode qui retourne une chaîne. La chaîne retournée par la méthode est le contenu à afficher sur la page à l’emplacement du Substitution contrôle. Utilisez la MethodName propriété pour spécifier le nom de la méthode de rappel à appeler lorsque le contrôle s’exécute Substitution . La méthode de rappel que vous spécifiez doit être une méthode statique sur la page ou le contrôle utilisateur qui contient le Substitution contrôle. La signature de la méthode de rappel doit correspondre à la signature d’un HttpResponseSubstitutionCallback délégué qui prend un HttpContext paramètre et retourne une chaîne.

Pour manipuler le cache de sortie d’une page, vous pouvez utiliser la directive @ OutputCache , la HttpCachePolicy classe ou la Cache propriété . Pour plus d’informations sur la mise en cache des pages, consultez Mise en cache ASP.NET pages et Mise en cache de parties d’une page ASP.NET.

En guise d’alternative à l’utilisation du Substitution contrôle, vous pouvez également obtenir le comportement de mise en cache de substitution à l’aide d’un HttpResponseSubstitutionCallback délégué. En outre, vous pouvez obtenir le comportement de mise en cache de substitution sur les contrôles, tels que le AdRotator contrôle, qui prennent directement en charge cette fonctionnalité. Pour plus d’informations, consultez Mise à jour dynamique de parties d’une page mise en cache.

Syntaxe déclarative

<asp:Substitution  
    EnableTheming="True|False"  
    EnableViewState="True|False"  
    ID="string"  
    MethodName="string"  
    OnDataBinding="DataBinding event handler"  
    OnDisposed="Disposed event handler"  
    OnInit="Init event handler"  
    OnLoad="Load event handler"  
    OnPreRender="PreRender event handler"  
    OnUnload="Unload event handler"  
    runat="server"  
    SkinID="string"  
    Visible="True|False"  
/>  

Constructeurs

Substitution()

Initialise une nouvelle instance de la classe Substitution.

Propriétés

Adapter

Obtient l'adaptateur spécifique au navigateur pour le contrôle.

(Hérité de Control)
AppRelativeTemplateSourceDirectory

Obtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle.

(Hérité de Control)
BindingContainer

Obtient le contrôle qui contient la liaison de données de ce contrôle.

(Hérité de Control)
ChildControlsCreated

Obtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés.

(Hérité de Control)
ClientID

Obtient l’ID de contrôle du balisage HTML généré par ASP.NET.

(Hérité de Control)
ClientIDMode

Obtient ou définit l'algorithme utilisé pour générer la valeur de la propriété ClientID.

(Hérité de Control)
ClientIDSeparator

Obtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID.

(Hérité de Control)
Context

Obtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours.

(Hérité de Control)
Controls

Obtient un objet ControlCollection qui représente les contrôles enfants pour un contrôle serveur spécifié dans la hiérarchie de l’interface utilisateur.

(Hérité de Control)
DataItemContainer

Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer.

(Hérité de Control)
DataKeysContainer

Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl.

(Hérité de Control)
DesignMode

Obtient une valeur indiquant si un contrôle est utilisé sur une aire de conception.

(Hérité de Control)
EnableTheming

Obtient ou définit une valeur indiquant si les thèmes s'appliquent à ce contrôle.

(Hérité de Control)
EnableViewState

Obtient ou définit une valeur indiquant si le contrôle serveur conserve son état d’affichage, et l’état d’affichage de tous les contrôles enfants qu’il contient, au client demandeur.

(Hérité de Control)
Events

Obtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule.

(Hérité de Control)
HasChildViewState

Obtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés.

(Hérité de Control)
ID

Obtient ou définit l'ID programmatique assigné au contrôle serveur.

(Hérité de Control)
IdSeparator

Obtient le caractère utilisé pour séparer des identificateurs de contrôle.

(Hérité de Control)
IsChildControlStateCleared

Obtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle.

(Hérité de Control)
IsTrackingViewState

Obtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage.

(Hérité de Control)
IsViewStateEnabled

Obtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle.

(Hérité de Control)
LoadViewStateByID

Obtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index.

(Hérité de Control)
MethodName

Obtient ou définit le nom de la méthode de rappel à appeler lorsque le contrôle Substitution s'exécute.

NamingContainer

Obtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété ID possède la même valeur.

(Hérité de Control)
Page

Obtient une référence à l'instance de Page qui contient le contrôle serveur.

(Hérité de Control)
Parent

Obtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page.

(Hérité de Control)
RenderingCompatibility

Obtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible.

(Hérité de Control)
Site

Obtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception.

(Hérité de Control)
SkinID

Obtient ou définit l’apparence à appliquer au contrôle.

(Hérité de Control)
TemplateControl

Obtient ou définit une référence au modèle qui contient ce contrôle.

(Hérité de Control)
TemplateSourceDirectory

Obtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours.

(Hérité de Control)
UniqueID

Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur.

(Hérité de Control)
ValidateRequestMode

Obtient ou définit une valeur qui indique si le contrôle vérifie l'entrée cliente du navigateur à la recherche de valeurs potentiellement dangereuses.

(Hérité de Control)
ViewState

Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page.

(Hérité de Control)
ViewStateIgnoresCase

Obtient une valeur qui indique si l'objet StateBag respecte la casse.

(Hérité de Control)
ViewStateMode

Obtient ou définit le mode d'état d'affichage de ce contrôle.

(Hérité de Control)
Visible

Obtient ou définit une valeur qui indique si un contrôle serveur est rendu en tant qu’interface utilisateur sur la page.

(Hérité de Control)

Méthodes

AddedControl(Control, Int32)

Méthode appelée après qu’un contrôle enfant est ajouté à la collection Controls de l’objet Control.

(Hérité de Control)
AddParsedSubObject(Object)

Avertit le contrôle serveur qu’un élément XML ou HTML a été analysé, et ajoute l’élément à l’objet ControlCollection du contrôle serveur.

(Hérité de Control)
ApplyStyleSheetSkin(Page)

Applique les propriétés de style définies dans la feuille de style de la page au contrôle.

(Hérité de Control)
BeginRenderTracing(TextWriter, Object)

Commence le traçage au moment du design des données de rendu.

(Hérité de Control)
BuildProfileTree(String, Boolean)

Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page.

(Hérité de Control)
ClearCachedClientID()

Affecte à la valeur ClientID mise en cache la valeur null.

(Hérité de Control)
ClearChildControlState()

Supprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearChildState()

Supprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearChildViewState()

Supprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearEffectiveClientIDMode()

Affecte la valeur ClientIDMode à la propriété Inherit de l'instance de contrôle actuelle et de tous contrôles enfants.

(Hérité de Control)
CreateChildControls()

Appelée par l’infrastructure de page ASP.NET pour signaler aux contrôles serveur qu’ils doivent utiliser l’implémentation basée sur la composition pour créer les contrôles enfants qu’ils contiennent en vue de la publication ou du rendu.

(Hérité de Control)
CreateControlCollection()

Retourne un objet EmptyControlCollection pour indiquer que le contrôle Substitution ne prend pas en charge les contrôles enfants.

DataBind()

Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants.

(Hérité de Control)
DataBind(Boolean)

Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding.

(Hérité de Control)
DataBindChildren()

Lie une source de données aux contrôles enfants du contrôle serveur.

(Hérité de Control)
Dispose()

Permet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire.

(Hérité de Control)
EndRenderTracing(TextWriter, Object)

Met fin au traçage au moment du design des données de rendu.

(Hérité de Control)
EnsureChildControls()

Détermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée.

(Hérité de Control)
EnsureID()

Crée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné.

(Hérité de Control)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FindControl(String)

Recherche un contrôle serveur possédant le paramètre id spécifié dans le conteneur d'attribution de noms actuel.

(Hérité de Control)
FindControl(String, Int32)

Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl.

(Hérité de Control)
Focus()

Affecte le focus d'entrée à un contrôle.

(Hérité de Control)
GetDesignModeState()

Obtient les données au moment du design pour un contrôle.

(Hérité de Control)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetRouteUrl(Object)

Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire.

(Hérité de Control)
GetRouteUrl(RouteValueDictionary)

Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire.

(Hérité de Control)
GetRouteUrl(String, Object)

Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire.

(Hérité de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire.

(Hérité de Control)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetUniqueIDRelativeTo(Control)

Retourne la partie préfixée de la propriété UniqueID du contrôle spécifié.

(Hérité de Control)
HasControls()

Détermine si le contrôle serveur contient des contrôles enfants.

(Hérité de Control)
HasEvents()

Retourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants.

(Hérité de Control)
IsLiteralContent()

Détermine si le contrôle serveur ne détient qu'un contenu littéral.

(Hérité de Control)
LoadControlState(Object)

Restaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState().

(Hérité de Control)
LoadViewState(Object)

Restaure les informations d’état d’affichage d’une précédente requête de page enregistrées par la méthode SaveViewState().

(Hérité de Control)
MapPathSecure(String)

Récupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond.

(Hérité de Control)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnBubbleEvent(Object, EventArgs)

Détermine si l’événement du contrôle serveur est passé dans la hiérarchie des contrôles serveur de l’interface utilisateur de la page.

(Hérité de Control)
OnDataBinding(EventArgs)

Déclenche l’événement DataBinding.

(Hérité de Control)
OnInit(EventArgs)

Déclenche l’événement Init.

(Hérité de Control)
OnLoad(EventArgs)

Déclenche l’événement Load.

(Hérité de Control)
OnPreRender(EventArgs)

Déclenche l’événement PreRender.

OnUnload(EventArgs)

Déclenche l’événement Unload.

(Hérité de Control)
OpenFile(String)

Obtient un Stream utilisé pour lire un fichier.

(Hérité de Control)
RaiseBubbleEvent(Object, EventArgs)

Assigne les sources éventuelles de l'événement et ses informations au parent du contrôle.

(Hérité de Control)
RemovedControl(Control)

Méthode appelée après la suppression d’un contrôle enfant de la collection Controls de l’objet Control.

(Hérité de Control)
Render(HtmlTextWriter)

Envoie le contenu du contrôle serveur à un objet HtmlTextWriter, qui écrit le contenu à rendre sur le client.

RenderChildren(HtmlTextWriter)

Produit le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni qui écrit le contenu à restituer sur le client.

(Hérité de Control)
RenderControl(HtmlTextWriter)

Envoie le contenu du contrôle serveur à un objet HtmlTextWriter fourni et stocke les informations de traçage sur le contrôle si le traçage est activé.

(Hérité de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni.

(Hérité de Control)
ResolveAdapter()

Obtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié.

(Hérité de Control)
ResolveClientUrl(String)

Obtient une URL qui peut être utilisée par le navigateur.

(Hérité de Control)
ResolveUrl(String)

Convertit une URL en une URL que le client soit en mesure d'utiliser.

(Hérité de Control)
SaveControlState()

Enregistre tous les changements d’état de contrôle serveur qui ont eu lieu depuis que la page a été publiée sur le serveur.

(Hérité de Control)
SaveViewState()

Enregistre les changements d’état d’affichage du contrôle serveur qui se sont produits depuis que la page a été republiée sur le serveur.

(Hérité de Control)
SetDesignModeState(IDictionary)

Définit les données au moment du design pour un contrôle.

(Hérité de Control)
SetRenderMethodDelegate(RenderMethod)

Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent.

(Hérité de Control)
SetTraceData(Object, Object)

Définit les données de trace pour le suivi du rendu des données au moment du design à l'aide de la clé des données de trace et de la valeur des données de trace.

(Hérité de Control)
SetTraceData(Object, Object, Object)

Définit les données de trace pour le suivi du rendu des données au moment du design, à l'aide de l'objet suivi, de la clé des données de trace et de la valeur des données de trace.

(Hérité de Control)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TrackViewState()

Provoque le suivi des modifications de l'état d'affichage pour le contrôle serveur afin qu'elles puissent être stockées dans l'objet StateBag du contrôle serveur. Cet objet est accessible via la propriété ViewState.

(Hérité de Control)

Événements

DataBinding

Se produit lorsque le contrôle serveur se lie à une source de données.

(Hérité de Control)
Disposed

Se produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET.

(Hérité de Control)
Init

Se produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie.

(Hérité de Control)
Load

Se produit lorsque le contrôle serveur est chargé dans l'objet Page.

(Hérité de Control)
PreRender

Se produit après le chargement de l'objet Control mais avant le rendu.

(Hérité de Control)
Unload

Se produit lorsque le contrôle serveur est déchargé de la mémoire.

(Hérité de Control)

Implémentations d’interfaces explicites

IControlBuilderAccessor.ControlBuilder

Pour obtenir une description de ce membre, consultez ControlBuilder.

(Hérité de Control)
IControlDesignerAccessor.GetDesignModeState()

Pour obtenir une description de ce membre, consultez GetDesignModeState().

(Hérité de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Pour obtenir une description de ce membre, consultez SetDesignModeState(IDictionary).

(Hérité de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Pour obtenir une description de ce membre, consultez SetOwnerControl(Control).

(Hérité de Control)
IControlDesignerAccessor.UserData

Pour obtenir une description de ce membre, consultez UserData.

(Hérité de Control)
IDataBindingsAccessor.DataBindings

Pour obtenir une description de ce membre, consultez DataBindings.

(Hérité de Control)
IDataBindingsAccessor.HasDataBindings

Pour obtenir une description de ce membre, consultez HasDataBindings.

(Hérité de Control)
IExpressionsAccessor.Expressions

Pour obtenir une description de ce membre, consultez Expressions.

(Hérité de Control)
IExpressionsAccessor.HasExpressions

Pour obtenir une description de ce membre, consultez HasExpressions.

(Hérité de Control)
IParserAccessor.AddParsedSubObject(Object)

Pour obtenir une description de ce membre, consultez AddParsedSubObject(Object).

(Hérité de Control)

Méthodes d’extension

FindDataSourceControl(Control)

Retourne la source de données associée au contrôle de données pour le contrôle spécifié.

FindFieldTemplate(Control, String)

Retourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié.

FindMetaTable(Control)

Retourne l'objet Metatable pour le contrôle de données conteneur.

S’applique à

Voir aussi