Substitution Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica una sección de una página web en caché de resultados que está exenta del almacenamiento en caché. En esta ubicación, se recupera el contenido dinámico y se sustituye por el control 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
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestra cómo agregar un Substitution control mediante declaración a una página web almacenada en caché de salida. Cuando se carga la página, la fecha y hora actuales se muestran al usuario en una etiqueta. Esta sección de la página se almacena en caché y se actualiza solo cada 60 segundos. Cuando se ejecuta el Substitution control, llama al GetCurrentDateTime
método . La cadena devuelta por GetCurrentDateTime
se muestra al usuario. Esta sección de la página no se almacena en caché y se actualiza cada vez que se actualiza la página.
<%@ 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>
Comentarios
En este tema:
Introducción
Use el Substitution control para especificar una sección en una página web almacenada en caché de salida en la que desea que el contenido dinámico sustituya por el control. El Substitution control ofrece una solución simplificada al almacenamiento en caché parcial de páginas para las páginas donde se almacena en caché la mayoría del contenido. Puede almacenar en caché la página completa y, a continuación, usar Substitution controles para especificar las partes de la página que están exentas del almacenamiento en caché. Las regiones almacenadas en caché solo se ejecutan una vez y se reproducen desde la memoria caché hasta que la entrada de caché expira o se purga. Las regiones dinámicas se ejecutan cada vez que se solicita la página. Este modelo de almacenamiento en caché simplifica el código de las páginas que son principalmente estáticas, ya que no es necesario encapsular las secciones para almacenar en caché los controles de usuario web. Por ejemplo, este modelo de almacenamiento en caché es útil en un escenario en el que tiene una página que contiene contenido estático, como noticias y un AdRotator control que muestra anuncios. Las noticias no cambian, lo que significa que se pueden almacenar en caché. Sin embargo, cada vez que un usuario solicita la página, desea mostrar un nuevo anuncio. El AdRotator control admite directamente la sustitución posterior a la caché y representa un nuevo anuncio cada vez que la página vuelve a publicar, independientemente de si la página está almacenada en caché.
Nota
Puede colocar un Substitution control en un control de usuario contenido en una página almacenada en caché. Sin embargo, no se puede colocar un Substitution control en un control de usuario almacenado en caché de salida.
Cuando se ejecuta el Substitution control, llama a un método que devuelve una cadena. La cadena que devuelve el método es el contenido que se va a mostrar en la página en la ubicación del Substitution control. Utilice la MethodName propiedad para especificar el nombre del método de devolución de llamada que se invocará cuando se ejecute el Substitution control. El método de devolución de llamada que especifique debe ser un método estático en la página o control de usuario que contiene el Substitution control . La firma del método de devolución de llamada debe coincidir con la firma de un HttpResponseSubstitutionCallback delegado que toma un HttpContext parámetro y devuelve una cadena.
Para manipular la memoria caché de salida de una página, puede usar la directiva @ OutputCache , la HttpCachePolicy clase o la Cache propiedad . Para obtener más información sobre el almacenamiento en caché de páginas, vea Almacenamiento en caché ASP.NET páginas y partes de almacenamiento en caché de una página de ASP.NET.
Como alternativa al uso del Substitution control , también puede obtener el comportamiento de almacenamiento en caché de sustitución mediante un HttpResponseSubstitutionCallback delegado. Además, puede obtener el comportamiento de almacenamiento en caché de sustitución en los controles, como el AdRotator control , que admite directamente esta característica. Para obtener más información, vea Actualización dinámica de partes de una página almacenada en caché.
Sintaxis declarativa
<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"
/>
Constructores
Substitution() |
Inicializa una nueva instancia de la clase Substitution. |
Propiedades
Adapter |
Obtiene el adaptador específico del explorador para el control. (Heredado de Control) |
AppRelativeTemplateSourceDirectory |
Obtiene o establece el directorio virtual relativo a la aplicación del objeto Page o el objeto UserControl que contiene este control. (Heredado de Control) |
BindingContainer |
Obtiene el control que contiene el enlace de datos de este control. (Heredado de Control) |
ChildControlsCreated |
Obtiene un valor que indica si se han creado controles secundarios del control de servidor. (Heredado de Control) |
ClientID |
Obtiene el id. de control para marcado HTML que se genera por ASP.NET. (Heredado de Control) |
ClientIDMode |
Obtiene o establece el algoritmo que se utiliza para generar el valor de la propiedad ClientID. (Heredado de Control) |
ClientIDSeparator |
Obtiene un valor de carácter que representa el carácter separado utilizado en la propiedad ClientID. (Heredado de Control) |
Context |
Obtiene el objeto HttpContext asociado al control de servidor para la solicitud Web actual. (Heredado de Control) |
Controls |
Obtiene un objeto ControlCollection que representa los controles secundarios de un control de servidor especificado en la jerarquía de la interfaz de usuario. (Heredado de Control) |
DataItemContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataItemContainer. (Heredado de Control) |
DataKeysContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataKeysControl. (Heredado de Control) |
DesignMode |
Obtiene un valor que indica si se está utilizando un control en una superficie de diseño. (Heredado de Control) |
EnableTheming |
Obtiene o establece un valor que indica si los temas se aplican a este control. (Heredado de Control) |
EnableViewState |
Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista, así como el estado de vista de los controles secundarios que contiene, al cliente solicitante. (Heredado de Control) |
Events |
Obtiene una lista de delegados de controladores de eventos del control. Esta propiedad es de sólo lectura. (Heredado de Control) |
HasChildViewState |
Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen guardada alguna configuración del estado de vista. (Heredado de Control) |
ID |
Obtiene o establece el identificador de programación asignado al control de servidor. (Heredado de Control) |
IdSeparator |
Obtiene el carácter utilizado para separar los identificadores de control. (Heredado de Control) |
IsChildControlStateCleared |
Obtiene un valor que indica si los controles que se encuentran en este control tienen estado de control. (Heredado de Control) |
IsTrackingViewState |
Obtiene un valor que indica si el control de servidor está guardando los cambios realizados en su estado de vista. (Heredado de Control) |
IsViewStateEnabled |
Obtiene un valor que indica si el estado de vista está habilitado para este control. (Heredado de Control) |
LoadViewStateByID |
Obtiene un valor que indica si el control participa en la carga de su estado de vista mediante ID en lugar de índice. (Heredado de Control) |
MethodName |
Obtiene o establece el nombre del método de devolución que se invoca cuando el control Substitution se ejecuta. |
NamingContainer |
Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar los distintos controles de servidor que tienen el mismo valor para la propiedad ID. (Heredado de Control) |
Page |
Obtiene una referencia a la instancia Page que contiene el control de servidor. (Heredado de Control) |
Parent |
Obtiene una referencia al control principal del control de servidor en la jerarquía de controles de página. (Heredado de Control) |
RenderingCompatibility |
Obtiene o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados. (Heredado de Control) |
Site |
Obtiene información sobre el contenedor en que se encuentra el control actual cuando se representa en una superficie de diseño. (Heredado de Control) |
SkinID |
Obtiene o establece la máscara que se aplica al control. (Heredado de Control) |
TemplateControl |
Obtiene o establece una referencia a la plantilla que contiene este control. (Heredado de Control) |
TemplateSourceDirectory |
Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual. (Heredado de Control) |
UniqueID |
Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Heredado de Control) |
ValidateRequestMode |
Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para valores potencialmente peligrosos. (Heredado de Control) |
ViewState |
Obtiene un diccionario con información de estado que le permite guardar y restaurar el estado de vista de un control de servidor en las distintas solicitudes de la misma página. (Heredado de Control) |
ViewStateIgnoresCase |
Obtiene un valor que indica si el objeto StateBag no distingue mayúsculas de minúsculas. (Heredado de Control) |
ViewStateMode |
Obtiene o establece el modo del estado de vista de este control. (Heredado de Control) |
Visible |
Obtiene o establece un valor que indica si un control de servidor se representa como interfaz de usuario en la página. (Heredado de Control) |
Métodos
AddedControl(Control, Int32) |
Se llama después de agregar un control secundario a la colección Controls del objeto Control. (Heredado de Control) |
AddParsedSubObject(Object) |
Notifica al control de servidor que se analizó un elemento, ya sea XML o HTML, y agrega el elemento al objeto ControlCollection del control del servidor. (Heredado de Control) |
ApplyStyleSheetSkin(Page) |
Aplica al control las propiedades de estilo definidas en la hoja de estilos de la página. (Heredado de Control) |
BeginRenderTracing(TextWriter, Object) |
Comienza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
BuildProfileTree(String, Boolean) |
Recopila información sobre el control de servidor y la pasa a la propiedad Trace para que se muestre cuando está habilitada la traza de la página. (Heredado de Control) |
ClearCachedClientID() |
Establece en |
ClearChildControlState() |
Elimina la información sobre el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildState() |
Elimina la información sobre el estado de vista y el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildViewState() |
Elimina la información sobre el estado de vista de todos los controles secundarios del control de servidor. (Heredado de Control) |
ClearEffectiveClientIDMode() |
Establece la propiedad ClientIDMode de la instancia del control actual y de cualquier control secundario en Inherit. (Heredado de Control) |
CreateChildControls() |
Lo llama el marco de páginas ASP.NET para indicar a los controles de servidor que usan la implementación basada en composición que creen los controles secundarios que contengan como forma de preparar la devolución o representación de los datos. (Heredado de Control) |
CreateControlCollection() |
Devuelve un objeto EmptyControlCollection, que indica que el control Substitution no admite controles secundarios. |
DataBind() |
Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios. (Heredado de Control) |
DataBind(Boolean) |
Enlaza un origen de datos al control de servidor que se ha invocado y a todos sus controles secundarios con una opción para generar el evento DataBinding. (Heredado de Control) |
DataBindChildren() |
Enlaza un origen de datos a los controles secundarios del control de servidor. (Heredado de Control) |
Dispose() |
Habilita un control de servidor para que realice la limpieza final antes de que se libere de la memoria. (Heredado de Control) |
EndRenderTracing(TextWriter, Object) |
Finaliza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
EnsureChildControls() |
Determina si el control de servidor contiene controles secundarios. Si no tiene controles secundarios, los crea. (Heredado de Control) |
EnsureID() |
Crea un identificador para controles que no tiene un identificador asignado. (Heredado de Control) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FindControl(String) |
Busca un control de servidor con el parámetro |
FindControl(String, Int32) |
Busca el contenedor de nomenclatura actual para un control de servidor con el |
Focus() |
Establece el foco de entrada en un control. (Heredado de Control) |
GetDesignModeState() |
Obtiene datos en tiempo de diseño para un control. (Heredado de Control) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetRouteUrl(Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
GetRouteUrl(RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
GetRouteUrl(String, Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
GetRouteUrl(String, RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetUniqueIDRelativeTo(Control) |
Devuelve la parte correspondiente al prefijo de la propiedad UniqueID del control especificado. (Heredado de Control) |
HasControls() |
Determina si el control de servidor contiene controles secundarios. (Heredado de Control) |
HasEvents() |
Devuelve un valor que indica si se registran eventos para el control o los controles secundarios. (Heredado de Control) |
IsLiteralContent() |
Determina si el control de servidor alberga únicamente contenido literal. (Heredado de Control) |
LoadControlState(Object) |
Restaura información de estado de control de una solicitud de página anterior guardada por el método SaveControlState(). (Heredado de Control) |
LoadViewState(Object) |
Restaura la información de estado de vista de una solicitud de página anterior guardada por el método SaveViewState(). (Heredado de Control) |
MapPathSecure(String) |
Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa. (Heredado de Control) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnBubbleEvent(Object, EventArgs) |
Determina si el evento del control de servidor se pasa a la jerarquía de control de servidor de la interfaz de usuario (UI) de la página. (Heredado de Control) |
OnDataBinding(EventArgs) |
Genera el evento DataBinding. (Heredado de Control) |
OnInit(EventArgs) |
Genera el evento Init. (Heredado de Control) |
OnLoad(EventArgs) |
Genera el evento Load. (Heredado de Control) |
OnPreRender(EventArgs) |
Genera el evento PreRender. |
OnUnload(EventArgs) |
Genera el evento Unload. (Heredado de Control) |
OpenFile(String) |
Obtiene un objeto Stream utilizado para leer un archivo. (Heredado de Control) |
RaiseBubbleEvent(Object, EventArgs) |
Asigna los orígenes del evento y su información al control principal del control. (Heredado de Control) |
RemovedControl(Control) |
Se llama después de quitar un control secundario de la colección Controls del objeto Control. (Heredado de Control) |
Render(HtmlTextWriter) |
Envía el contenido del control de servidor al objeto HtmlTextWriter proporcionado, que escribe el contenido que se representará en el cliente. |
RenderChildren(HtmlTextWriter) |
Envía el contenido de los elementos secundarios de un control de servidor a un objeto HtmlTextWriter especificado, que escribe el contenido que se va a representar en el cliente. (Heredado de Control) |
RenderControl(HtmlTextWriter) |
Envía el contenido de control del servidor a un objeto HtmlTextWriter proporcionado y almacena información de seguimiento sobre el control si está habilitado el seguimiento. (Heredado de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Coloca el contenido de un control de servidor en un objeto HtmlTextWriter proporcionado, utilizando un objeto ControlAdapter proporcionado. (Heredado de Control) |
ResolveAdapter() |
Obtiene el adaptador de controles que se encarga de representar el control especificado. (Heredado de Control) |
ResolveClientUrl(String) |
Obtiene una dirección URL que el explorador puede utilizar. (Heredado de Control) |
ResolveUrl(String) |
Convierte una dirección URL en una que el cliente solicitante pueda utilizar. (Heredado de Control) |
SaveControlState() |
Guarda los cambios de estado del control de servidor que se produjeron desde la hora en que la página volvió a publicarse en el servidor. (Heredado de Control) |
SaveViewState() |
Guarda los cambios realizados en el estado de vista del control de servidor desde que la página volvió a publicarse en el servidor. (Heredado de Control) |
SetDesignModeState(IDictionary) |
Establece los datos en tiempo de diseño para un control. (Heredado de Control) |
SetRenderMethodDelegate(RenderMethod) |
Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en el control principal. (Heredado de Control) |
SetTraceData(Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa la clave y el valor de los datos de seguimiento. (Heredado de Control) |
SetTraceData(Object, Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa el objeto del que se ha realizado seguimiento, así como la clave y el valor de los datos de seguimiento. (Heredado de Control) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
TrackViewState() |
Origina el seguimiento de los cambios del estado de vista del control de servidor de manera que se puedan almacenar en el objeto StateBag del control de servidor. Este objeto es accesible a través de la propiedad ViewState. (Heredado de Control) |
Eventos
DataBinding |
Se produce cuando el control de servidor se enlaza a un origen de datos. (Heredado de Control) |
Disposed |
Se produce cuando un control de servidor se libera de la memoria, lo que constituye la última fase del período de duración de un control de servidor cuando se solicita una página ASP.NET. (Heredado de Control) |
Init |
Tiene lugar al inicializar el control de servidor, que es el primer paso en su ciclo de vida. (Heredado de Control) |
Load |
Se produce cuando el control de servidor se carga en el objeto Page. (Heredado de Control) |
PreRender |
Se produce una vez que se carga el objeto Control, pero antes de su representación. (Heredado de Control) |
Unload |
Se produce cuando el control de servidor se descarga de la memoria. (Heredado de Control) |
Implementaciones de interfaz explícitas
IControlBuilderAccessor.ControlBuilder |
Para obtener una descripción de este miembro, vea ControlBuilder. (Heredado de Control) |
IControlDesignerAccessor.GetDesignModeState() |
Para obtener una descripción de este miembro, vea GetDesignModeState(). (Heredado de Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para obtener una descripción de este miembro, vea SetDesignModeState(IDictionary). (Heredado de Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Para obtener una descripción de este miembro, vea SetOwnerControl(Control). (Heredado de Control) |
IControlDesignerAccessor.UserData |
Para obtener una descripción de este miembro, vea UserData. (Heredado de Control) |
IDataBindingsAccessor.DataBindings |
Para obtener una descripción de este miembro, vea DataBindings. (Heredado de Control) |
IDataBindingsAccessor.HasDataBindings |
Para obtener una descripción de este miembro, vea HasDataBindings. (Heredado de Control) |
IExpressionsAccessor.Expressions |
Para obtener una descripción de este miembro, vea Expressions. (Heredado de Control) |
IExpressionsAccessor.HasExpressions |
Para obtener una descripción de este miembro, vea HasExpressions. (Heredado de Control) |
IParserAccessor.AddParsedSubObject(Object) |
Para obtener una descripción de este miembro, vea AddParsedSubObject(Object). (Heredado de Control) |
Métodos de extensión
FindDataSourceControl(Control) |
Devuelve el origen de datos que está asociado al control de datos del control especificado. |
FindFieldTemplate(Control, String) |
Devuelve la plantilla de campo para la columna especificada en el contenedor de nomenclatura del control especificado. |
FindMetaTable(Control) |
Devuelve el objeto de metatabla para el control de datos contenedor. |
Se aplica a
Consulte también
- MethodName
- HttpResponseSubstitutionCallback
- HttpContext
- HttpCachePolicy
- Cache
- Control de servidor web de sustitución
- Almacenamiento en caché de ASP.NET
- Almacenamiento en caché de páginas de ASP.NET
- Almacenar en caché partes de una página de ASP.NET
- Actualización dinámica de partes de una página almacenada en caché