Deklarative Syntax des Substitution-Webserver-Steuerelements

Aktualisiert: November 2007

Gibt einen Abschnitt auf einer Webseite im Ausgabecache an, der von der Zwischenspeicherung ausgenommen ist. An diesem Speicherort wird dynamischer Inhalt abgerufen, der das Substitution-Steuerelement ersetzt.

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

Hinweise

Mit dem Substitution-Steuerelement kann ein Abschnitt auf einer Webseite im Ausgabecache angegeben werden, auf der dynamischer Inhalt das Steuerelement ersetzen soll. Mit dem Substitution-Steuerelement kann die partielle Zwischenspeicherung für Seiten vereinfacht werden, bei denen der größte Teil des Inhalts zwischengespeichert ist. Sie können die gesamte Seite im Ausgabechache zwischenspeichern und dann mithilfe der Substitution-Steuerelemente die Teile der Seite angeben, die von der Zwischenspeicherung ausgenommen sind.

Weitere Informationen zum Substitution-Steuerelement finden Sie unter Übersicht über das Substitution-Webserversteuerelement.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie einer im Ausgabechache zwischengespeicherten Webseite ein Substitution-Steuerelement deklarativ hinzugefügt wird. Wenn die Seite geladen wird, werden dem Benutzer das aktuelle Datum und die aktuelle Uhrzeit angezeigt. Dieser Abschnitt der Seite wird zwischengespeichert und alle 60 Sekunden aktualisiert. Wenn das Substitution-Steuerelement ausgeführt wird, ruft es die GetCurrentDateTime-Methode auf. Die von GetCurrentDateTime zurückgegebene Zeichenfolge wird dem Benutzer angezeigt. Dieser Abschnitt der Seite ist nicht zwischengespeichert und wird jedes Mal aktualisiert, wenn die Seite aktualisiert wird.

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

Siehe auch

Konzepte

Übersicht über das Substitution-Webserversteuerelement

Referenz

Substitution