Freigeben über


Gewusst wie: Zwischenspeichern von mehreren Versionen eines Benutzersteuerelements auf der Basis von Parametern

Aktualisiert: November 2007

Zum Steuern der Zwischenspeicherung der Benutzersteuerelementausgabe stehen Ihnen zwei Möglichkeiten zur Verfügung:

  • Geben Sie den Benutzersteuerelementnamen entweder mit einem Abfragezeichenfolgen- oder einem POST-Formularparameter an. Sie können dies deklarativ mit dem VaryByParam-Attribut der @ OutputCache-Direktive tun. Alternativ können Sie dies programmgesteuert tun, indem Sie die VaryByParams-Eigenschaft des PartialCachingAttribute im Code des Benutzersteuerelements festlegen.

  • Geben Sie die ID-Eigenschaft eines im Benutzersteuerelement enthaltenen ASP.NET-Serversteuerelements an. Sie können dies deklarativ mit dem VaryByControl-Attribut tun. Alternativ können Sie dies programmgesteuert tun, indem Sie die VaryByControls-Eigenschaft im PartialCachingAttribute festlegen.

    Hinweis:

    Es ist nur möglich, Variationen der Benutzersteuerelementausgabe auf der Grundlage von Abfragezeichenfolgen-Parametern oder POST-Formularparametern im Cache zu speichern, wenn das Benutzersteuerelement Postbacks ausführt und diese Postbacks selbst verarbeitet. Wenn das Benutzersteuerelement ein Postback an die enthaltende Seite ausführt, funktioniert diese Art der Zwischenspeicherung der Benutzersteuerelementausgabe nicht ordnungsgemäß.

So speichern Sie mehrere Versionen eines Benutzersteuerelements mit dem VaryByControl-Attribut deklarativ zwischen

  1. Erstellen Sie ein Benutzersteuerelement, das Postbacks ausführt.

  2. Fügen Sie dem Benutzersteuerelement eine @ OutputCache-Direktive mit einem Duration-Attribut und einem VaryByControl-Attribut hinzu.

    Hinweis:

    Wenn Sie das VaryByControl-Attribut in der Direktive verwenden, wird das VaryByParam-Attribut nicht benötigt, Sie können es aber hinzufügen und auf "None" festlegen.

  3. Legen Sie das VaryByControl-Attribut auf die ID des Steuerelements fest, durch das Sie die Benutzersteuerelementausgabe variieren möchten.

    Die folgende @ OutputCache-Direktive legt beispielsweise die Verfallszeit des Benutzersteuerelements auf 60 Sekunden fest und variiert die Steuerelementausgabe durch ein ASP.NET-Serversteuerelement mit der ID State:

    <%@ OutputCache Duration="60" VaryByControl="State" %>
    

So speichern Sie mehrere Versionen eines Benutzersteuerelements mit der VaryByControls-Eigenschaft programmgesteuert zwischen

  1. Erstellen Sie Code für ein Benutzersteuerelement, das Postbacks an sich selbst ausführt.

  2. Fügen Sie am Anfang des Benutzersteuerelementcodes ein PartialCachingAttribute ein.

  3. Schließen Sie einen Wert für den Duration-Parameter ein, und legen Sie den VaryByControls-Parameter auf die ID des ASP.NET-Serversteuerelements in dem Benutzersteuerelement fest, durch das die Benutzersteuerelementausgabe variiert werden soll.

    Im folgenden Codebeispiel wird Duration auf 60 Sekunden und VaryByControls auf State festgelegt. Dieser Code sollte vor dem Code eingefügt werden, in dem die UserControl-Klasse erweitert wird.

    [PartialCaching(60, null, State, null)]
    
    <PartialCaching(60, null, State, null)>
    

So speichern Sie mehrere Versionen eines Benutzersteuerelements mit dem VaryByParam-Attribut deklarativ zwischen

  1. Erstellen Sie ein Benutzersteuerelement, das Postbacks an sich selbst ausführt.

  2. Fügen Sie dem Benutzersteuerelement eine @ OutputCache-Direktive mit einem Duration-Attribut und einem VaryByParam-Attribut hinzu.

    Hinweis:

    Bei Verwendung des VaryByControl-Attributs in der @ OutputCache-Direktive für ein Benutzersteuerelement ist das VaryByParam-Attribut nicht erforderlich.

  3. Legen Sie das VaryByParam-Attribut auf den GET-Abfragezeichenfolgen- oder den POST-Formularparameter fest, durch den das Benutzersteuerelement variiert werden soll.

    Mit der folgenden @ OutputCache-Direktive werden die Verfallszeiten für das Benutzersteuerelement beispielsweise auf 60 Sekunden festgelegt und die Benutzersteuerelementausgabe anhand des Werts eines POST-Formular- oder Abfragezeichenfolgen-Parameters mit dem Namen State variiert.

    <%@ OutputCache Duration="60" VaryByParam="State" %>
    

So speichern Sie mehrere Versionen eines Benutzersteuerelements mit der VaryByParams-Eigenschaft programmgesteuert zwischen

  1. Erstellen Sie Code für ein Benutzersteuerelement, das Postbacks an sich selbst ausführt.

  2. Fügen Sie am Anfang des Benutzersteuerelementcodes ein PartialCachingAttribute ein.

  3. Fügen Sie einen Wert für den Duration-Parameter ein, und legen Sie den VaryByParams-Parameter auf den GET-Abfragezeichenfolgen- oder den POST-Formularparameter fest, durch den die Benutzersteuerelementausgabe variiert werden soll.

    Im folgenden Codebeispiel wird Duration auf 60 Sekunden und VaryByParams auf einen POST-Formular- oder Abfragezeichenfolgen-Parameter mit dem Namen State festgelegt. Dieser Code sollte vor dem Code eingefügt werden, in dem die UserControl-Klasse erweitert wird.

    [PartialCaching(60, State, null, null)]
    
    <PartialCaching(60, State, null, null)>
    

Siehe auch

Aufgaben

Gewusst wie: Zwischenspeichern mehrerer Versionen eines Benutzersteuerelements mithilfe deklarativer Attribute

Konzepte

Übersicht über das Zwischenspeichern in ASP.NET

Zwischenspeichern von ASP.NET-Seiten

Zwischenspeichern mehrerer Versionen einer Seite

Zwischenspeichern von mehreren Versionen der Benutzersteuerelementausgabe