Condividi tramite


Sintassi dichiarativa per il controllo server Web Substitution

Aggiornamento: novembre 2007

Specifica una sezione di una pagina Web memorizzata nella cache di output che è esente dall'inserimento nella cache. In questa posizione viene recuperato contenuto dinamico e sostituito al controllo 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"
/>

Note

Utilizzare il controllo Substitution per specificare una sezione di una pagina Web memorizzata nella cache di output in cui si desidera che il controllo venga sostituito con contenuto dinamico. Il controllo Substitution offre una soluzione semplificata alla memorizzazione parziale nella cache per le pagine in cui la maggior parte del contenuto è inserita nella cache. È possibile memorizzare nella cache di output l'intera pagina e quindi utilizzare i controlli Substitution per specificare le parti che sono esenti dall'inserimento nella cache.

Per ulteriori informazioni sul controllo Substitution, vedere Cenni preliminari sul controllo server Web Substitution:

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come aggiungere in modo dichiarativo un controllo Substitution a una pagina Web memorizzata nella cache di output. Quando la pagina viene caricata, l'utente visualizza la data e l'ora correnti in un'etichetta. Questa sezione della pagina viene memorizzata nella cache e aggiornata ogni 60 secondi. Quando viene eseguito, il controllo Substitution chiama il metodo GetCurrentDateTime. L'utente visualizza la stringa restituita da GetCurrentDateTime. Questa sezione della pagina non viene memorizzata nella cache e viene aggiornata ad ogni aggiornamento della pagina.

<%@ 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>

Vedere anche

Concetti

Cenni preliminari sul controllo server Web Substitution

Riferimenti

Substitution