Partager via


Syntaxe déclarative des contrôles serveur Web Substitution

Mise à jour : novembre 2007

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

<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"
/>

Notes

Utilisez le contrôle Substitution pour spécifier une section d'une page Web mise en cache de sortie dans laquelle vous souhaitez que le contenu dynamique soit substitué pour le contrôle. Le contrôle Substitution offre une solution simplifiée de mise en cache de page partielle pour les pages dans lesquelles la majorité du contenu est mise en cache. Vous pouvez mettre en cache de sortie la page entière, puis utiliser des contrôles Substitution pour spécifier les parties de la page qui sont exemptées de mise en cache.

Pour plus d'informations sur le contrôle Substitution, consultez Vue d'ensemble du contrôle serveur Web Substitution.

Exemple

L'exemple de code suivant montre comment ajouter de façon déclarative un contrôle Substitution à une page Web mise en cache de sortie. Lors du chargement de la page, la date et l'heure courantes sont présentées à l'utilisateur dans une étiquette. Cette section de la page est mise en cache et mise à jour toutes les 60 secondes. Lorsque le contrôle Substitution s'exécute, il appelle la méthode GetCurrentDateTime. La chaîne retournée par GetCurrentDateTime s'affiche pour l'utilisateur. Cette section de la page n'est pas mise en cache. Elle 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="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>
<%@ 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>

Voir aussi

Concepts

Vue d'ensemble du contrôle serveur Web Substitution

Référence

Substitution