Substitution Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica uma seção em uma página da Web armazenada em cache de saída isenta de cache. Nesse local, o conteúdo dinâmico é recuperado e substituído pelo Substitution controle.
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
- Herança
Exemplos
O exemplo de código a seguir demonstra como adicionar um Substitution controle declarativamente a uma página da Web armazenada em cache de saída. Quando a página é carregada, a data e a hora atuais são exibidas para o usuário em um rótulo. Esta seção da página é armazenada em cache e atualizada apenas a cada 60 segundos. Quando o Substitution controle é executado, ele chama o GetCurrentDateTime método. A cadeia de caracteres retornada é GetCurrentDateTime exibida para o usuário. Esta seção da página não é armazenada em cache e é atualizada sempre que a página é atualizada.
<%@ 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>
Comentários
Neste tópico:
Introdução
Use o Substitution controle para especificar uma seção em uma página da Web armazenada em cache de saída em que você deseja que o conteúdo dinâmico seja substituído pelo controle. O Substitution controle oferece uma solução simplificada para o cache parcial de páginas em que a maioria do conteúdo é armazenada em cache. Você pode armazenar em cache a página inteira e, em seguida, usar Substitution controles para especificar as partes da página isentas de cache. As regiões armazenadas em cache são executadas apenas uma vez e são reproduzidas do cache até que a entrada de cache expire ou seja limpa. Regiões dinâmicas são executadas sempre que a página é solicitada. Esse modelo de cache simplifica o código para páginas que são principalmente estáticas, pois você não precisa encapsular as seções para armazenar em cache nos controles do usuário da Web. Por exemplo, esse modelo de cache é útil em um cenário em que você tem uma página que contém conteúdo estático, como notícias e um AdRotator controle que exibe anúncios. As notícias não mudam, o que significa que elas podem ser armazenadas em cache. No entanto, sempre que um usuário solicita a página, você deseja exibir um novo anúncio. O AdRotator controle dá suporte diretamente à substituição pós-cache e renderiza um novo anúncio sempre que a página é postada novamente, independentemente de a página ser armazenada em cache.
Observação
Você pode colocar um Substitution controle em um controle de usuário contido em uma página armazenada em cache. No entanto, você não pode colocar um Substitution controle em um controle de usuário armazenado em cache de saída.
Quando o Substitution controle é executado, ele chama um método que retorna uma cadeia de caracteres. A cadeia de caracteres retornada pelo método é o conteúdo a ser exibido na página no local do Substitution controle. Use a MethodName propriedade para especificar o nome do método de retorno de chamada a ser invocado quando o Substitution controle for executado. O método de retorno de chamada especificado deve ser um método estático na página ou controle do usuário que contém o Substitution controle. A assinatura do método de retorno de chamada deve corresponder à assinatura de um HttpResponseSubstitutionCallback delegado que usa um HttpContext parâmetro e retorna uma cadeia de caracteres.
Para manipular o cache de saída para uma página, você pode usar a diretiva @ OutputCache , a HttpCachePolicy classe ou a Cache propriedade. Para obter mais informações sobre o cache de páginas, consulte Caching ASP.NET Pages and Caching Parts of an ASP.NET Page.
Como alternativa ao uso do Substitution controle, você também pode obter o comportamento de cache de substituição usando um HttpResponseSubstitutionCallback delegado. Além disso, você pode obter o comportamento de cache de substituição em controles, como o controle, que dão suporte diretamente a AdRotator esse recurso. Para obter mais informações, consulte Dinamicamente atualizando partes de uma página armazenada em cache.
Sintaxe 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"
/>
Construtores
| Nome | Description |
|---|---|
| Substitution() |
Inicializa uma nova instância da classe Substitution. |
Propriedades
| Nome | Description |
|---|---|
| Adapter |
Obtém o adaptador específico do navegador para o controle. (Herdado de Control) |
| AppRelativeTemplateSourceDirectory |
Obtém ou define o diretório virtual relativo ao aplicativo do Page objeto ou UserControl que contém esse controle. (Herdado de Control) |
| BindingContainer |
Obtém o controle que contém a associação de dados desse controle. (Herdado de Control) |
| ChildControlsCreated |
Obtém um valor que indica se os controles filho do controle do servidor foram criados. (Herdado de Control) |
| ClientID |
Obtém a ID de controle para marcação HTML gerada por ASP.NET. (Herdado de Control) |
| ClientIDMode |
Obtém ou define o algoritmo usado para gerar o valor da ClientID propriedade. (Herdado de Control) |
| ClientIDSeparator |
Obtém um valor de caractere que representa o caractere separador usado na ClientID propriedade. (Herdado de Control) |
| Context |
Obtém o HttpContext objeto associado ao controle do servidor para a solicitação da Web atual. (Herdado de Control) |
| Controls |
Obtém um ControlCollection objeto que representa os controles filho para um controle de servidor especificado na hierarquia da interface do usuário. (Herdado de Control) |
| DataItemContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementar IDataItemContainer. (Herdado de Control) |
| DataKeysContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementar IDataKeysControl. (Herdado de Control) |
| DesignMode |
Obtém um valor que indica se um controle está sendo usado em uma superfície de design. (Herdado de Control) |
| EnableTheming |
Obtém ou define um valor que indica se os temas se aplicam a esse controle. (Herdado de Control) |
| EnableViewState |
Obtém ou define um valor que indica se o controle do servidor persiste seu estado de exibição e o estado de exibição de todos os controles filho que ele contém, para o cliente solicitante. (Herdado de Control) |
| Events |
Obtém uma lista de representantes do manipulador de eventos para o controle. Esta propriedade é somente para leitura. (Herdado de Control) |
| HasChildViewState |
Obtém um valor que indica se os controles filho do controle do servidor atual têm configurações de estado de exibição salvas. (Herdado de Control) |
| ID |
Obtém ou define o identificador programático atribuído ao controle do servidor. (Herdado de Control) |
| IdSeparator |
Obtém o caractere usado para separar identificadores de controle. (Herdado de Control) |
| IsChildControlStateCleared |
Obtém um valor que indica se os controles contidos nesse controle têm estado de controle. (Herdado de Control) |
| IsTrackingViewState |
Obtém um valor que indica se o controle do servidor está salvando alterações em seu estado de exibição. (Herdado de Control) |
| IsViewStateEnabled |
Obtém um valor que indica se o estado de exibição está habilitado para esse controle. (Herdado de Control) |
| LoadViewStateByID |
Obtém um valor que indica se o controle participa no carregamento de seu estado de exibição ID em vez de índice. (Herdado de Control) |
| MethodName |
Obtém ou define o nome do método de retorno de chamada a ser invocado quando o Substitution controle é executado. |
| NamingContainer |
Obtém uma referência ao contêiner de nomenclatura do controle de servidor, que cria um namespace exclusivo para diferenciar entre controles de servidor com o mesmo ID valor de propriedade. (Herdado de Control) |
| Page |
Obtém uma referência à Page instância que contém o controle do servidor. (Herdado de Control) |
| Parent |
Obtém uma referência ao controle pai do controle do servidor na hierarquia de controle de página. (Herdado de Control) |
| RenderingCompatibility |
Obtém um valor que especifica a versão ASP.NET com a qual o HTML renderizado será compatível. (Herdado de Control) |
| Site |
Obtém informações sobre o contêiner que hospeda o controle atual quando renderizado em uma superfície de design. (Herdado de Control) |
| SkinID |
Obtém ou define a pele a ser aplicada ao controle. (Herdado de Control) |
| TemplateControl |
Obtém ou define uma referência ao modelo que contém esse controle. (Herdado de Control) |
| TemplateSourceDirectory |
Obtém o diretório virtual do Page ou UserControl que contém o controle de servidor atual. (Herdado de Control) |
| UniqueID |
Obtém o identificador exclusivo e hierarquicamente qualificado para o controle do servidor. (Herdado de Control) |
| ValidateRequestMode |
Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador em busca de valores potencialmente perigosos. (Herdado de Control) |
| ViewState |
Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página. (Herdado de Control) |
| ViewStateIgnoresCase |
Obtém um valor que indica se o StateBag objeto não diferencia maiúsculas de minúsculas. (Herdado de Control) |
| ViewStateMode |
Obtém ou define o modo de estado de exibição desse controle. (Herdado de Control) |
| Visible |
Obtém ou define um valor que indica se um controle de servidor é renderizado como interface do usuário na página. (Herdado de Control) |
Métodos
| Nome | Description |
|---|---|
| AddedControl(Control, Int32) |
Chamado depois que um controle filho é adicionado à Controls coleção do Control objeto. (Herdado de Control) |
| AddParsedSubObject(Object) |
Notifica o controle do servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto do controle do ControlCollection servidor. (Herdado de Control) |
| ApplyStyleSheetSkin(Page) |
Aplica as propriedades de estilo definidas na folha de estilos de página ao controle. (Herdado de Control) |
| BeginRenderTracing(TextWriter, Object) |
Inicia o rastreamento em tempo de design dos dados de renderização. (Herdado de Control) |
| BuildProfileTree(String, Boolean) |
Coleta informações sobre o controle do servidor e o Trace entrega na propriedade a ser exibida quando o rastreamento está habilitado para a página. (Herdado de Control) |
| ClearCachedClientID() |
Define o valor armazenado em ClientID cache como |
| ClearChildControlState() |
Exclui as informações de estado de controle para os controles filho do controle do servidor. (Herdado de Control) |
| ClearChildState() |
Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle do servidor. (Herdado de Control) |
| ClearChildViewState() |
Exclui as informações de estado de exibição para todos os controles filho do controle do servidor. (Herdado de Control) |
| ClearEffectiveClientIDMode() |
Define a ClientIDMode propriedade da instância de controle atual e de qualquer controle filho como Inherit. (Herdado de Control) |
| CreateChildControls() |
Chamado pela estrutura de página ASP.NET para notificar os controles de servidor que usam a implementação baseada em composição para criar quaisquer controles filho que eles contenham em preparação para postar de volta ou renderização. (Herdado de Control) |
| CreateControlCollection() |
Retorna um EmptyControlCollection objeto, indicando que o Substitution controle não dá suporte a controles filho. |
| DataBind() |
Associa uma fonte de dados ao controle de servidor invocado e a todos os seus controles filho. (Herdado de Control) |
| DataBind(Boolean) |
Associa uma fonte de dados ao controle de servidor invocado e a todos os seus controles filho com uma opção para gerar o DataBinding evento. (Herdado de Control) |
| DataBindChildren() |
Associa uma fonte de dados aos controles filho do controle do servidor. (Herdado de Control) |
| Dispose() |
Permite que um controle de servidor execute a limpeza final antes de ser liberado da memória. (Herdado de Control) |
| EndRenderTracing(TextWriter, Object) |
Encerra o rastreamento em tempo de design dos dados de renderização. (Herdado de Control) |
| EnsureChildControls() |
Determina se o controle do servidor contém controles filho. Se isso não acontecer, ele criará controles filho. (Herdado de Control) |
| EnsureID() |
Cria um identificador para controles que não têm um identificador atribuído. (Herdado de Control) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FindControl(String, Int32) |
Pesquisa o contêiner de nomenclatura atual para um controle de servidor com o especificado |
| FindControl(String) |
Pesquisa o contêiner de nomenclatura atual para um controle de servidor com o parâmetro especificado |
| Focus() |
Define o foco de entrada como um controle. (Herdado de Control) |
| GetDesignModeState() |
Obtém dados de tempo de design para um controle. (Herdado de Control) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetRouteUrl(Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
| GetRouteUrl(RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
| GetRouteUrl(String, Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetUniqueIDRelativeTo(Control) |
Retorna a parte prefixada da UniqueID propriedade do controle especificado. (Herdado de Control) |
| HasControls() |
Determina se o controle do servidor contém controles filho. (Herdado de Control) |
| HasEvents() |
Retorna um valor que indica se os eventos são registrados para o controle ou quaisquer controles filho. (Herdado de Control) |
| IsLiteralContent() |
Determina se o controle do servidor contém apenas conteúdo literal. (Herdado de Control) |
| LoadControlState(Object) |
Restaura informações de estado de controle de uma solicitação de página anterior que foi salva pelo SaveControlState() método. (Herdado de Control) |
| LoadViewState(Object) |
Restaura informações de estado de exibição de uma solicitação de página anterior que foi salva pelo SaveViewState() método. (Herdado de Control) |
| MapPathSecure(String) |
Recupera o caminho físico para o qual um caminho virtual, absoluto ou relativo, é mapeado. (Herdado de Control) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnBubbleEvent(Object, EventArgs) |
Determina se o evento para o controle do servidor é passado para a hierarquia de controle do servidor de interface do usuário da página. (Herdado de Control) |
| OnDataBinding(EventArgs) |
Aciona o evento DataBinding. (Herdado de Control) |
| OnInit(EventArgs) |
Aciona o evento Init. (Herdado de Control) |
| OnLoad(EventArgs) |
Aciona o evento Load. (Herdado de Control) |
| OnPreRender(EventArgs) |
Aciona o evento PreRender. |
| OnUnload(EventArgs) |
Aciona o evento Unload. (Herdado de Control) |
| OpenFile(String) |
Obtém um Stream usado para ler um arquivo. (Herdado de Control) |
| RaiseBubbleEvent(Object, EventArgs) |
Atribui todas as fontes do evento e suas informações ao pai do controle. (Herdado de Control) |
| RemovedControl(Control) |
Chamado depois que um controle filho é removido da Controls coleção do Control objeto. (Herdado de Control) |
| Render(HtmlTextWriter) |
Envia o conteúdo do controle do servidor para um objeto fornecido HtmlTextWriter , que grava o conteúdo a ser renderizado no cliente. |
| RenderChildren(HtmlTextWriter) |
Gera o conteúdo dos filhos de um controle de servidor para um objeto fornecido HtmlTextWriter , que grava o conteúdo a ser renderizado no cliente. (Herdado de Control) |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Gera conteúdo de controle de servidor para um objeto fornecido HtmlTextWriter usando um objeto fornecido ControlAdapter . (Herdado de Control) |
| RenderControl(HtmlTextWriter) |
O servidor de saída controla o conteúdo de um objeto fornecido HtmlTextWriter e armazena informações de rastreamento sobre o controle se o rastreamento estiver habilitado. (Herdado de Control) |
| ResolveAdapter() |
Obtém o adaptador de controle responsável por renderizar o controle especificado. (Herdado de Control) |
| ResolveClientUrl(String) |
Obtém uma URL que pode ser usada pelo navegador. (Herdado de Control) |
| ResolveUrl(String) |
Converte uma URL em uma que é utilizável no cliente solicitante. (Herdado de Control) |
| SaveControlState() |
Salva as alterações de estado do controle do servidor que ocorreram desde o momento em que a página foi postada de volta no servidor. (Herdado de Control) |
| SaveViewState() |
Salva as alterações de estado de exibição de controle do servidor que ocorreram desde o momento em que a página foi postada novamente no servidor. (Herdado de Control) |
| SetDesignModeState(IDictionary) |
Define dados de tempo de design para um controle. (Herdado de Control) |
| SetRenderMethodDelegate(RenderMethod) |
Atribui um representante do manipulador de eventos para renderizar o controle do servidor e seu conteúdo em seu controle pai. (Herdado de Control) |
| SetTraceData(Object, Object, Object) |
Define dados de rastreamento para rastreamento em tempo de design de dados de renderização, usando o objeto rastreado, a chave de dados de rastreamento e o valor dos dados de rastreamento. (Herdado de Control) |
| SetTraceData(Object, Object) |
Define dados de rastreamento para rastreamento em tempo de design de dados de renderização, usando a chave de dados de rastreamento e o valor dos dados de rastreamento. (Herdado de Control) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| TrackViewState() |
Causa o acompanhamento de alterações de estado de exibição no controle do servidor para que possam ser armazenadas no objeto do controle do StateBag servidor. Esse objeto é acessível por meio da ViewState propriedade. (Herdado de Control) |
Eventos
| Nome | Description |
|---|---|
| DataBinding |
Ocorre quando o controle do servidor é associado a uma fonte de dados. (Herdado de Control) |
| Disposed |
Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida do controle do servidor quando uma página ASP.NET é solicitada. (Herdado de Control) |
| Init |
Ocorre quando o controle do servidor é inicializado, que é a primeira etapa em seu ciclo de vida. (Herdado de Control) |
| Load |
Ocorre quando o controle do servidor é carregado no Page objeto. (Herdado de Control) |
| PreRender |
Ocorre depois que o Control objeto é carregado, mas antes da renderização. (Herdado de Control) |
| Unload |
Ocorre quando o controle do servidor é descarregado da memória. (Herdado de Control) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IControlBuilderAccessor.ControlBuilder |
Para obter uma descrição deste membro, consulte ControlBuilder. (Herdado de Control) |
| IControlDesignerAccessor.GetDesignModeState() |
Para obter uma descrição deste membro, consulte GetDesignModeState(). (Herdado de Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para obter uma descrição deste membro, consulte SetDesignModeState(IDictionary). (Herdado de Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
Para obter uma descrição deste membro, consulte SetOwnerControl(Control). (Herdado de Control) |
| IControlDesignerAccessor.UserData |
Para obter uma descrição deste membro, consulte UserData. (Herdado de Control) |
| IDataBindingsAccessor.DataBindings |
Para obter uma descrição deste membro, consulte DataBindings. (Herdado de Control) |
| IDataBindingsAccessor.HasDataBindings |
Para obter uma descrição deste membro, consulte HasDataBindings. (Herdado de Control) |
| IExpressionsAccessor.Expressions |
Para obter uma descrição deste membro, consulte Expressions. (Herdado de Control) |
| IExpressionsAccessor.HasExpressions |
Para obter uma descrição deste membro, consulte HasExpressions. (Herdado de Control) |
| IParserAccessor.AddParsedSubObject(Object) |
Para obter uma descrição deste membro, consulte AddParsedSubObject(Object). (Herdado de Control) |
Métodos de Extensão
| Nome | Description |
|---|---|
| FindDataSourceControl(Control) |
Retorna a fonte de dados associada ao controle de dados para o controle especificado. |
| FindFieldTemplate(Control, String) |
Retorna o modelo de campo para a coluna especificada no contêiner de nomenclatura do controle especificado. |
| FindMetaTable(Control) |
Retorna o objeto metatável para o controle de dados que contém. |