Freigeben über


HttpResponseSubstitutionCallback Delegat

Definition

Stellt die Methode dar, die die Ersetzung nach dem Cache behandelt.

public delegate System::String ^ HttpResponseSubstitutionCallback(HttpContext ^ context);
public delegate string HttpResponseSubstitutionCallback(HttpContext context);
type HttpResponseSubstitutionCallback = delegate of HttpContext -> string
Public Delegate Function HttpResponseSubstitutionCallback(context As HttpContext) As String 

Parameter

context
HttpContext

Die HttpContext die HTTP-Anforderungsinformationen für die Seite mit dem Steuerelement enthält, das eine Ersetzung nach dem Cache erfordert.

Rückgabewert

Der in die zwischengespeicherte Antwort eingefügte Inhalt, bevor er an den Client gesendet wird.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Substitution Steuerelement programmgesteuert zu einer zwischengespeicherten Ausgabewebseite hinzugefügt wird. Wenn die Seite geladen wird, werden dem Benutzer das aktuelle Datum und die aktuelle Uhrzeit in einer Beschriftung 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 mit der Signatur für den HttpResponseSubstitutionCallback Delegaten übereinstimmen muss. Die von der GetCurrentDateTime Methode zurückgegebene Zeichenfolge wird dem Benutzer angezeigt. Dieser Abschnitt der Seite wird nicht zwischengespeichert und jedes Mal aktualisiert, wenn die Seite aktualisiert wird. Die MethodName Eigenschaft des Substitution Steuerelements ruft den Namen der Rückrufmethode ab oder legt ihn fest.

<%@ 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)
  {
    // Programmatically create a Substitution control.
    Substitution Substitution1 = new Substitution();
    
    // Specify the callback method.
    Substitution1.MethodName = "GetCurrentDateTime";
    
    // Add the Substitution control to the controls
    // collection of PlaceHolder1.
    PlaceHolder1.Controls.Add (Substitution1);        

    // 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 id="Head1" runat="server">
  <title>Substitution Class Example</title>
</head>
<body>
  <form id="Form1" runat="server">
  
    <h3>Substitution Constructor Example</h3>  
    
    <p>This section of the page is not cached:</p>
    <asp:placeholder id="PlaceHolder1"
      runat="Server">
    </asp:placeholder>
    
    <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)
    ' Programmatically create a Substitution control.
    Dim Substitution1 As New Substitution
    
    ' Specify the callback method.
    Substitution1.MethodName = "GetCurrentDateTime"
    
    ' Add the Substitution control to the controls
    ' collection of PlaceHolder1.
    PlaceHolder1.Controls.Add(Substitution1)
    
    ' 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 Constructor Example</title>
</head>
<body>
  <form id="Form1" runat="server">
  
    <h3>Substitution Constructor Example</h3>  
    
    <p>This section of the page is not cached:</p>
    <asp:placeholder id="PlaceHolder1"
      runat="Server">
    </asp:placeholder>
    
    <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>

Hinweise

Der HttpResponseSubstitutionCallback Delegat wird in Kombination mit der WriteSubstitution Methode zum Rendern von Inhalten nach dem Cache für die Substitution und AdRotator die Steuerelemente verwendet.

Verwenden Sie für das Substitution Steuerelement die MethodName Eigenschaft, um den Namen der Rückrufmethode anzugeben, die beim Ausführen des Substitution Steuerelements aufgerufen werden soll. Die von Ihnen angegebene Rückrufmethode muss eine statische Methode auf der Seite oder auf dem Benutzersteuerelement sein, das das Substitution Steuerelement enthält. Die Signatur für die Rückrufmethode muss mit der Signatur für einen HttpResponseSubstitutionCallback Delegaten übereinstimmen, der einen HttpContext Parameter akzeptiert und eine Zeichenfolge zurückgibt.

Für das Steuerelement ist das AdRotator Rendern unabhängig vom Seitenzwischenspeichern, es sei denn, ein Ereignishandler wird für das AdCreated Ereignis bereitgestellt. Wenn kein AdCreated Ereignishandler vorhanden ist, wird die Ersetzung nach dem Cache zum Rendern des AdRotator Inhalts verwendet.

Erweiterungsmethoden

Name Beschreibung
GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt.

Gilt für:

Weitere Informationen