Como: Determine que se funcionalidade do ASP.NET AJAX está disponível
Recursos AJAX ASP.NET exigem que o conjunto System.Web.Extensions seja instalado na cache de assemblies globais (GAC) do servidor onde o aplicativo da Web é hospedado.Se ele estiver disponível, seu aplicativo e os controles associados na pasta App_Code ou em um conjunto de módulos (assembly) sa pasta Bin podem usar os recursos AJAX.Por exemplo, eles podem registrar scripts ou criar controles UpdatePanel.
Este tópico descreve duas tarefas:
Como usar o reflexo para verificar o assembly System.Web.Extensions.Essa verificação é útil quando você cria controles personalizados que funcionam independentemente de AJAX ASP.NET estar instalado.
Como usar o método GetCurrent da classe ScriptManager para determinar se os recursos AJAX estão ativados em uma página individual.Isso é útil porque scripts que são usados em postagens assíncronas devem ser registrados com o controle ScriptManager.Caso contrário, os scripts podem ser registrados com o controle ClientScriptManager.
Para obter mais informações sobre a funcionalidade de AJAX no ASP.NET, consulte Visão geral sobre controle UpdatePanel e Visão geral de renderização de página parcial.
Para usar o reflexo para determinar se o AJAX do ASP.NET está instalado
Use o código a seguir para determinar se o AJAX ASP.NET está instalado na cache global de assemblies.
Private Shared ReadOnly ReflectionLock As Object = New Object() SyncLock ReflectionLock Dim scriptManagerType = _ Type.GetType( _ "System.Web.UI.ScriptManager, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35", _ False) If Not (scriptManagerType Is Nothing) Then ' ASP.NET AJAX is installed. Else ' ASP.NET AJAX is not installed. End If End SyncLock
Private static readonly object ReflectionLock = new object(); Lock (ReflectionLock) { Type scriptManagerType = Type.GetType( "System.Web.UI.ScriptManager, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35", false); if (scriptManagerType != null) // ASP.NET AJAX is installed. else // ASP.NET AJAX is not installed.
}
Observação: Certifique-se de definir o atributo Version para o número de versão correto do conjunto de módulos (assembly) que você está verificando.
Verificando Se a funcionalidade de AJAX Está Ativada para uma Página
Mesmo se a funcionalidade ASP.NET AJAX estiver ativada para um aplicativo da Web, talvez você precise verificar se a funcionalidade de AJAX está ativada para uma página individual.
Para determinar se a funcionalidade de AJAX está habilitada para um página da Web
Use o código a seguir para determinar se a funcionalidade de AJAX está ativada para uma página.
Dim sm as ScriptManager = ScriptManager.GetCurrent(Page) If (sm is Nothing) ' ASP.NET AJAX functionality is not enabled for the page. Else ' ASP.NET AJAX functionality is enabled for the page. End If
ScriptManager sm = ScriptManager.GetCurrent(Page) if (sm == null) { // ASP.NET AJAX functionality is not enabled for the page. } else { // AJAX functionality is enabled for the page. }
Observação: Para determinar se o processamento parcial da página é suportado para uma página, você pode modificar este código para usar EnablePartialRendering e a propriedade SupportsPartialRendering do controle ScriptManager.