Sdílet prostřednictvím


Gewusst wie: Bestimmen, ob ASP.NET AJAX-Funktionalität verfügbar ist

Aktualisiert: November 2007

ASP.NET-AJAX-Features erfordern es, dass die System.Web.Extensions-Assembly im globalen Assemblycache (GAC) des Servers installiert ist, auf dem die Webanwendung gehostet wird. (-:If the assembly is available, your application and any associated controls in the App_Code folder or in an assembly the Bin folder can use AJAX features.)=0%(Wenn die Assembly verfügbar ist, können die Anwendung sowie alle zugeordneten Steuerelemente im Ordner App_Code oder im Ordner Bin der Assembly die AJAX-Features nutzen.:-) Zum Beispiel können sie Skripts registrieren oder UpdatePanel-Steuerelemente erstellen.

In diesem Thema werden zwei Aufgaben beschrieben:

  • Das Verwenden der Reflektion zum Überprüfen der System.Web.Extensions-Assembly. Diese Überprüfung ist nützlich, wenn Sie benutzerdefinierte Steuerelemente erstellen, die unabhängig davon funktionieren, ob ASP.NET-AJAX installiert ist.

  • Verwenden der GetCurrent-Methode der ScriptManager-Klasse, um zu bestimmen, ob AJAX-Features auf einer bestimmten Seite aktiviert sind. Dies ist hilfreich, weil Skripts, die in asynchronen Postbacks verwendet werden, beim ScriptManager-Steuerelement registriert sein müssen. Andernfalls können die Skripts beim ClientScriptManager-Steuerelement registriert werden.

Weitere Informationen zur AJAX-Funktionalität in ASP.NET finden Sie unter Übersicht über das UpdatePanel-Steuerelement und Übersicht über das Teilrendering von Seiten.

So verwenden Sie die Reflektion, um zu bestimmen, ob ASP.NET-AJAX installiert ist

  • Verwenden Sie den folgenden Code, um zu bestimmen, ob ASP.NET-AJAX im globalen Assemblycache installiert ist.

    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.
    

    }

    Bb907614.alert_note(de-de,VS.90).gifHinweis:

    Stellen Sie sicher, dass Sie das Version-Attribut auf die richtige Versionsnummer der Assembly setzen, für die Sie eine Überprüfung durchführen.

Überprüfen, ob die AJAX-Funktionalität für eine Seite aktiviert ist

Auch wenn die ASP.NET-AJAX-Funktionalität für eine Webanwendung aktiviert ist, müssen Sie ggf. prüfen, ob die AJAX-Funktionalität für eine bestimmte Seite aktiviert ist.

So bestimmen Sie, ob die AJAX-Funktionalität für eine Webseite aktiviert ist

  • Verwenden Sie den folgenden Code, um zu bestimmen, ob die AJAX-Funktionalität für eine Seite aktiviert ist.

    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.
    }
    
    Bb907614.alert_note(de-de,VS.90).gifHinweis:

    Um zu bestimmen, ob das Teilrendering für Seiten für eine Seite unterstützt wird, können Sie diesen Code so ändern, dass die Eigenschaften EnablePartialRendering und SupportsPartialRendering des ScriptManager-Steuerelements verwendet werden.

Siehe auch

Konzepte

Übersicht über ASP.NET-AJAX