Substitution Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica una sezione in una pagina Web memorizzata nella cache di output che è esclusa dalla memorizzazione nella cache. In questa posizione il contenuto dinamico viene recuperato e sostituito per il controllo Substitution.
public ref class Substitution : System::Web::UI::Control
public class Substitution : System.Web.UI.Control
type Substitution = class
inherit Control
Public Class Substitution
Inherits Control
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene illustrato come aggiungere un Substitution controllo dichiarativo a una pagina Web memorizzata nella cache di output. Quando la pagina viene caricata, la data e l'ora correnti vengono visualizzate all'utente in un'etichetta. Questa sezione della pagina viene memorizzata nella cache e aggiornata solo ogni 60 secondi. Quando il Substitution controllo viene eseguito, chiama il GetCurrentDateTime
metodo . La stringa restituita dall'utente GetCurrentDateTime
viene visualizzata. Questa sezione della pagina non viene memorizzata nella cache e viene aggiornata ogni volta che la pagina viene aggiornata.
<%@ 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>
<%@ 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>
Commenti
In questo argomento
Introduzione
Usare il Substitution controllo per specificare una sezione in una pagina Web memorizzata nella cache di output in cui si vuole sostituire il contenuto dinamico per il controllo. Il Substitution controllo offre una soluzione semplificata alla memorizzazione nella cache di pagine parziali per le pagine in cui la maggior parte del contenuto viene memorizzata nella cache. È possibile memorizzare nella cache l'intera pagina e quindi usare Substitution i controlli per specificare le parti della pagina escluse dalla memorizzazione nella cache. Le aree memorizzate nella cache vengono eseguite una sola volta e vengono riprodotte dalla cache finché la voce della cache scade o viene eliminata. Le aree dinamiche vengono eseguite ogni volta che viene richiesta la pagina. Questo modello di memorizzazione nella cache semplifica il codice per le pagine che sono principalmente statiche, perché non è necessario incapsulare le sezioni per memorizzare nella cache i controlli utente Web. Ad esempio, questo modello di memorizzazione nella cache è utile in uno scenario in cui è presente una pagina contenente contenuto statico, ad esempio storie di notizie e un AdRotator controllo che visualizza annunci pubblicitari. Le notizie non cambiano, il che significa che possono essere memorizzate nella cache. Tuttavia, ogni volta che un utente richiede la pagina, si vuole visualizzare un nuovo annuncio. Il AdRotator controllo supporta direttamente la sostituzione post-cache e esegue il rendering di un nuovo annuncio ogni volta che la pagina viene postata, indipendentemente dal fatto che la pagina venga memorizzata nella cache.
Nota
È possibile inserire un controllo in un Substitution controllo utente contenuto in una pagina memorizzata nella cache. Tuttavia, non è possibile inserire un Substitution controllo in un controllo utente memorizzato nella cache di output.
Quando il Substitution controllo viene eseguito, chiama un metodo che restituisce una stringa. La stringa restituita dal metodo è il contenuto da visualizzare nella pagina nella posizione del Substitution controllo. Utilizzare la MethodName proprietà per specificare il nome del metodo di callback per richiamare quando il Substitution controllo viene eseguito. Il metodo di callback specificato deve essere un metodo statico nella pagina o nel controllo utente che contiene il Substitution controllo. La firma per il metodo di callback deve corrispondere alla firma per un HttpResponseSubstitutionCallback delegato che accetta un HttpContext parametro e restituisce una stringa.
Per modificare la cache di output per una pagina, è possibile usare la direttiva @ OutputCache , la classe o la HttpCachePolicyCache proprietà . Per altre informazioni sulle pagine di memorizzazione nella cache, vedere Memorizzazione nella cache di pagine ASP.NET e memorizzazione nella cache di una pagina ASP.NET.
In alternativa all'uso del controllo, è anche possibile ottenere un comportamento di memorizzazione nella Substitution cache di sostituzione usando un HttpResponseSubstitutionCallback delegato. Inoltre, è possibile ottenere il comportamento di memorizzazione nella cache di sostituzione nei controlli, ad esempio il AdRotator controllo, che supporta direttamente questa funzionalità. Per altre informazioni, vedere Aggiornamento dinamico delle parti di una pagina memorizzata nella cache.
Sintassi dichiarativa
<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"
/>
Costruttori
Substitution() |
Inizializza una nuova istanza della classe Substitution. |
Proprietà
Adapter |
Ottiene l'adattatore specifico del browser per il controllo. (Ereditato da Control) |
AppRelativeTemplateSourceDirectory |
Ottiene o imposta la directory virtuale relativa all'applicazione dell'oggetto Page o UserControl contenente questo controllo. (Ereditato da Control) |
BindingContainer |
Ottiene il controllo contenente l'associazione dati del controllo corrente. (Ereditato da Control) |
ChildControlsCreated |
Ottiene un valore che indica se i controlli figli del controllo server sono stati creati. (Ereditato da Control) |
ClientID |
Ottiene l'ID di controllo per il markup HTML generato da ASP.NET. (Ereditato da Control) |
ClientIDMode |
Ottiene o imposta l'algoritmo utilizzato per generare il valore della proprietà ClientID. (Ereditato da Control) |
ClientIDSeparator |
Ottiene un carattere che rappresenta il separatore utilizzato nella proprietà ClientID. (Ereditato da Control) |
Context |
Ottiene l'oggetto HttpContext associato al controllo server per la richiesta Web corrente. (Ereditato da Control) |
Controls |
Ottiene un oggetto ControlCollection che rappresenta i controlli figlio per un controllo server specificato nella gerarchia dell'interfaccia utente. (Ereditato da Control) |
DataItemContainer |
Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataItemContainer. (Ereditato da Control) |
DataKeysContainer |
Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataKeysControl. (Ereditato da Control) |
DesignMode |
Ottiene un valore che indica se un controllo viene utilizzato in un'area di progettazione. (Ereditato da Control) |
EnableTheming |
Ottiene o imposta un valore che indica se al controllo vengono applicati i temi. (Ereditato da Control) |
EnableViewState |
Ottiene o imposta un valore che indica se lo stato di visualizzazione del controllo server deve essere persistente e lo stato di visualizzazione dei controlli figlio contenuti, per il client richiedente. (Ereditato da Control) |
Events |
Ottiene un elenco dei delegati del gestore eventi per il controllo. Questa proprietà è di sola lettura. (Ereditato da Control) |
HasChildViewState |
Ottiene un valore che indica se per i controlli figlio del controllo server corrente esistono impostazioni dello stato di visualizzazione salvate. (Ereditato da Control) |
ID |
Ottiene o imposta l'identificatore a livello di codice assegnato al controllo server. (Ereditato da Control) |
IdSeparator |
Ottiene il carattere utilizzato per separare gli identificatori di controllo. (Ereditato da Control) |
IsChildControlStateCleared |
Ottiene un valore che indica se i controlli contenuti in questo controllo dispongono di informazioni sullo stato del controllo. (Ereditato da Control) |
IsTrackingViewState |
Ottiene un valore che indica se il controllo server salva le modifiche allo stato di visualizzazione. (Ereditato da Control) |
IsViewStateEnabled |
Ottiene un valore che indica se lo stato di visualizzazione è attivato per il controllo corrente. (Ereditato da Control) |
LoadViewStateByID |
Ottiene un valore che indica se il controllo prende parte al caricamento del proprio stato di visualizzazione tramite ID anziché tramite l'indice. (Ereditato da Control) |
MethodName |
Ottiene o imposta il nome del metodo di callback da richiamare quando viene eseguito il controllo Substitution. |
NamingContainer |
Ottiene un riferimento al contenitore dei nomi del controllo server, che crea uno spazio dei nomi univoco per distinguere i controlli server che hanno lo stesso valore della proprietà ID. (Ereditato da Control) |
Page |
Ottiene un riferimento all'istanza Page che contiene il controllo server. (Ereditato da Control) |
Parent |
Ottiene un riferimento al controllo padre del controllo server nella gerarchia dei controlli della pagina. (Ereditato da Control) |
RenderingCompatibility |
Ottiene un valore che specifica la versione di ASP.NET con cui sarà compatibile il codice HTML di cui è stato eseguito il rendering. (Ereditato da Control) |
Site |
Ottiene informazioni sul contenitore del controllo corrente quando viene eseguito il rendering in un'area di progettazione. (Ereditato da Control) |
SkinID |
Ottiene o imposta l'interfaccia personalizzata da applicare al controllo. (Ereditato da Control) |
TemplateControl |
Ottiene o imposta un riferimento al modello che contiene il controllo. (Ereditato da Control) |
TemplateSourceDirectory |
Ottiene la directory virtuale dell'oggetto Page o dell'oggetto UserControl che contiene il controllo server corrente. (Ereditato da Control) |
UniqueID |
Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server. (Ereditato da Control) |
ValidateRequestMode |
Ottiene o imposta un valore che indica se il controllo verifica la presenza di valori potenzialmente pericolosi nell'input proveniente dal browser. (Ereditato da Control) |
ViewState |
Ottiene un dizionario di informazioni sullo stato che permette di salvare e ripristinare lo stato di visualizzazione di un controllo server attraverso più richieste per la stessa pagina. (Ereditato da Control) |
ViewStateIgnoresCase |
Ottiene un valore che indica se l'oggetto StateBag non effettua la distinzione tra maiuscole e minuscole. (Ereditato da Control) |
ViewStateMode |
Ottiene o imposta la modalità dello stato, visualizzazione di questo controllo. (Ereditato da Control) |
Visible |
Ottiene o imposta un valore che indica se viene eseguito il rendering di un controllo server come interfaccia utente nella pagina. (Ereditato da Control) |
Metodi
AddedControl(Control, Int32) |
Chiamato dopo che un controllo figlio viene aggiunto alla raccolta Controls dell'oggetto Control. (Ereditato da Control) |
AddParsedSubObject(Object) |
Notifica al controllo server che un elemento, XML o HTML, è stato analizzato e aggiunge l'elemento all'oggetto ControlCollection del controllo server. (Ereditato da Control) |
ApplyStyleSheetSkin(Page) |
Applica al controllo le proprietà di stile definite nel foglio di stile della pagina. (Ereditato da Control) |
BeginRenderTracing(TextWriter, Object) |
Inizia la traccia in fase di progettazione dei dati di rendering. (Ereditato da Control) |
BuildProfileTree(String, Boolean) |
Raccoglie informazioni sul controllo server e le recapita alla proprietà Trace in modo che vengano visualizzate quando è attivata la tracciatura per la pagina. (Ereditato da Control) |
ClearCachedClientID() |
Imposta il valore memorizzato nella cache ClientID su |
ClearChildControlState() |
Elimina le informazioni sullo stato del controllo per i controlli figlio del controllo server. (Ereditato da Control) |
ClearChildState() |
Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server. (Ereditato da Control) |
ClearChildViewState() |
Elimina le informazioni sullo stato di visualizzazione per tutti i controlli figlio del controllo server. (Ereditato da Control) |
ClearEffectiveClientIDMode() |
Imposta la proprietà ClientIDMode dell'istanza del controllo corrente e di tutti i controlli figlio su Inherit. (Ereditato da Control) |
CreateChildControls() |
Viene chiamato dal framework della pagina ASP.NET per notificare ai controlli server che usano un'implementazione basata sulla composizione di creare gli eventuali controlli figlio in essi contenuti in preparazione per il postback o il rendering. (Ereditato da Control) |
CreateControlCollection() |
Restituisce un oggetto EmptyControlCollection, a indicare che il controllo Substitution non supporta i controlli figlio. |
DataBind() |
Associa un'origine dati al controllo server richiamato e a tutti i controlli figlio. (Ereditato da Control) |
DataBind(Boolean) |
Associa un'origine dati al controllo server chiamato e ai relativi controlli figlio con un'opzione per generare l'evento DataBinding. (Ereditato da Control) |
DataBindChildren() |
Associa un'origine dati al controllo server e ai relativi controlli figlio. (Ereditato da Control) |
Dispose() |
Abilita un controllo server alla pulizia finale prima che venga rilasciato dalla memoria. (Ereditato da Control) |
EndRenderTracing(TextWriter, Object) |
Termina la traccia in fase di progettazione dei dati di rendering. (Ereditato da Control) |
EnsureChildControls() |
Determina se il controllo server contiene controlli figlio. In caso contrario, li crea. (Ereditato da Control) |
EnsureID() |
Crea un identificatore per i controlli a cui non è assegnato alcun identificatore. (Ereditato da Control) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindControl(String) |
Cerca un controllo server nel contenitore dei nomi corrente con il parametro |
FindControl(String, Int32) |
Cerca nel contenitore di denominazione corrente un controllo server con il parametro |
Focus() |
Imposta lo stato attivo per l'input su un controllo. (Ereditato da Control) |
GetDesignModeState() |
Ottiene i dati della fase di progettazione per un controllo. (Ereditato da Control) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetRouteUrl(Object) |
Ottiene l'URL corrispondente a un set di parametri di route. (Ereditato da Control) |
GetRouteUrl(RouteValueDictionary) |
Ottiene l'URL corrispondente a un set di parametri di route. (Ereditato da Control) |
GetRouteUrl(String, Object) |
Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route. (Ereditato da Control) |
GetRouteUrl(String, RouteValueDictionary) |
Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route. (Ereditato da Control) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetUniqueIDRelativeTo(Control) |
Restituisce la parte con prefisso della proprietà UniqueID del controllo specificato. (Ereditato da Control) |
HasControls() |
Determina se il controllo server contiene controlli figlio. (Ereditato da Control) |
HasEvents() |
Restituisce un valore che indica se gli eventi vengono registrati per il controllo o eventuali controlli figlio. (Ereditato da Control) |
IsLiteralContent() |
Determina se il controllo server conserva solo il contenuto literal. (Ereditato da Control) |
LoadControlState(Object) |
Ripristina le informazioni sullo stato del controllo da una richiesta di pagina precedente salvata dal metodo SaveControlState(). (Ereditato da Control) |
LoadViewState(Object) |
Ripristina le informazioni sullo stato di visualizzazione da una richiesta di pagina precedente salvata dal metodo SaveViewState(). (Ereditato da Control) |
MapPathSecure(String) |
Recupera il percorso fisico al quale è associato un percorso virtuale, assoluto o relativo. (Ereditato da Control) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnBubbleEvent(Object, EventArgs) |
Determina se l'evento per il controllo server viene passato a un livello superiore nella gerarchia dei controlli server dell'interfaccia utente per la pagina. (Ereditato da Control) |
OnDataBinding(EventArgs) |
Genera l'evento DataBinding. (Ereditato da Control) |
OnInit(EventArgs) |
Genera l'evento Init. (Ereditato da Control) |
OnLoad(EventArgs) |
Genera l'evento Load. (Ereditato da Control) |
OnPreRender(EventArgs) |
Genera l'evento PreRender. |
OnUnload(EventArgs) |
Genera l'evento Unload. (Ereditato da Control) |
OpenFile(String) |
Ottiene un oggetto Stream utilizzato per leggere un file. (Ereditato da Control) |
RaiseBubbleEvent(Object, EventArgs) |
Assegna eventuali origini dell'evento e relative informazioni al controllo padre. (Ereditato da Control) |
RemovedControl(Control) |
Chiamato dopo che un controllo figlio viene rimosso dalla raccolta Controls dell'oggetto Control. (Ereditato da Control) |
Render(HtmlTextWriter) |
Invia il contenuto del controllo server a un oggetto HtmlTextWriter specificato che scrive il contenuto di cui eseguire il rendering nel client. |
RenderChildren(HtmlTextWriter) |
Restituisce il contenuto degli elementi figlio di un controllo server a un oggetto HtmlTextWriter specificato, che scrive il contenuto di cui eseguire il rendering nel client. (Ereditato da Control) |
RenderControl(HtmlTextWriter) |
Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato e archivia le informazioni di traccia relative al controllo se la funzionalità di traccia è abilitata. (Ereditato da Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato utilizzando un oggetto ControlAdapter specificato. (Ereditato da Control) |
ResolveAdapter() |
Ottiene l'adattatore del controllo responsabile del rendering del controllo specificato. (Ereditato da Control) |
ResolveClientUrl(String) |
Ottiene un URL che può essere utilizzato dal browser. (Ereditato da Control) |
ResolveUrl(String) |
Converte un URL in un formato utilizzabile dal client richiedente. (Ereditato da Control) |
SaveControlState() |
Salva tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel server. (Ereditato da Control) |
SaveViewState() |
Salva eventuali modifiche dello stato di visualizzazione di un controllo server apportate dopo il postback della pagina nel server. (Ereditato da Control) |
SetDesignModeState(IDictionary) |
Imposta i dati della fase di progettazione per un controllo. (Ereditato da Control) |
SetRenderMethodDelegate(RenderMethod) |
Assegna un delegato del gestore eventi per eseguire il rendering del controllo server e del relativo contenuto nel controllo padre. (Ereditato da Control) |
SetTraceData(Object, Object) |
Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando la chiave dei dati di traccia e il valore dei dati di traccia. (Ereditato da Control) |
SetTraceData(Object, Object, Object) |
Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando l'oggetto tracciato, la chiave dei dati di traccia e il valore dei dati di traccia. (Ereditato da Control) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
TrackViewState() |
Attiva il rilevamento delle modifiche dello stato di visualizzazione nel controllo server per consentirne la memorizzazione nell'oggetto StateBag del controllo server. È possibile accedere a questo oggetto tramite la proprietà ViewState. (Ereditato da Control) |
Eventi
DataBinding |
Viene generato quando il controllo server viene associato a un'origine dati. (Ereditato da Control) |
Disposed |
Si verifica quando un controllo server viene rilasciato dalla memoria, ossia nell'ultima fase della durata di un controllo server quando viene richiesta una pagina ASP.NET. (Ereditato da Control) |
Init |
Viene generato quando il controllo server viene inizializzato, ovvero nella prima fase della sua durata. (Ereditato da Control) |
Load |
Viene generato quando il controllo server è caricato nell'oggetto Page. (Ereditato da Control) |
PreRender |
Si verifica dopo il caricamento dell'oggetto Control ma prima del rendering. (Ereditato da Control) |
Unload |
Viene generato quando il controllo server viene scaricato dalla memoria. (Ereditato da Control) |
Implementazioni dell'interfaccia esplicita
Metodi di estensione
FindDataSourceControl(Control) |
Restituisce l'origine dati associata al controllo dati per il controllo specificato. |
FindFieldTemplate(Control, String) |
Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato. |
FindMetaTable(Control) |
Restituisce l'oggetto metatabella per il controllo contenitore dei dati. |
Si applica a
Vedi anche
- MethodName
- HttpResponseSubstitutionCallback
- HttpContext
- HttpCachePolicy
- Cache
- Sostituzione del controllo server Web
- Memorizzazione nella cache di ASP.NET
- Memorizzazione nella cache di pagine ASP.NET
- Memorizzazione nella cache di una pagina ASP.NET
- Aggiornamento dinamico delle parti di una pagina memorizzata nella cache