É possível desativar o ViewState no ASP .NET?
-
28-10-2019 - |
Pergunta
Estou usando controles do lado do servidor de terceiros em meu site (Telerik RadControls para ASP .NET).O controle do menu tem uma estrutura complexa que está aumentando o tamanho do viewstate, afetando os tempos de carregamento.Não estou ciente dos detalhes do viewstate, exceto que ele é usado pelo servidor da web para manter o controle dos valores de controle.
Como a maioria das páginas do meu site são apenas para exibição, é possível desativar o viewstate onde a entrada do usuário não é obtida?Todos os itens dinâmicos estão sendo regenerados no carregamento da página em qualquer caso.
Solução
Se você estiver usando asp.net 4, poderá usar a propriedade ViewStateMode
para controlar a geração de viewstate para controles. ViewStateMode
Se você não estiver usando o asp.net 4, poderá desativar o viewstate no nível da página ou do controle.
<%@ Page Language="C#" EnableViewState="false"%> //disabling viewstate.
http://msdn.microsoft.com / en-us / library / system.web.ui.page.enableviewstate.aspx
Outras dicas
No topo da sua página aspx, adicione o parâmetro enableViewstate="false" nas páginas que não precisam dele.ele não desabilitará o viewstate completamente, mas reduzirá o tamanho seriamente
Não testei isso, mas acho que é possível ..
Em seu arquivo Web.config, adicione o atributo à tag pages e, em seguida, nessas páginas que você precisa habilitar, adicione o atributo true no topo
System.Web.UI.WebControls.CheckBox checkBox = new System.Web.UI.WebControls.CheckBox();
checkBox.EnableViewState = false;
Existem diferentes maneiras de desativar o ViewState.No seu caso, eu recomendaria desativar o viewstate no controle:
<telerik:RadMenu ViewStateMode="Disabled"