Gewusst wie: Arbeiten mit einem ASP.NET AJAX 1.0-Webprojekt in Visual Studio 2008

Aktualisiert: November 2007

Mithilfe der Unterstützung zur Festlegung mehrerer Zielversionen in Visual Studio 2008 können Sie mit ASP.NET AJAX 1.0 in neuen und vorhandenen Websites und Webanwendungsprojekten arbeiten. Sie können vorhandene Sites ausführen, ohne diese auf die aktuelle Version von ASP.NET und .NET Framework zu aktualisieren. Gleichzeitig können Sie eine ASP.NET AJAX 1.0-Website in Visual Studio 2008 entwickeln und verwalten und dabei die Vorteile neuer Visual Studio 2008-Funktionen nutzen, z. B. JScript IntelliSense.

Das Ausführen einer Website mit einer älteren Version von ASP.NET und .NET Framework ist nützlich, wenn Sie die Site nicht unter Verwendung des aktuellen Laufzeitmoduls ausführen können. Beispiele für diesen Fall sind:

  • Für die Hostsite, die Ihre Website hostet, wurde keine Aktualisierung auf die aktuelle Version des Laufzeitmoduls durchgeführt.

  • Die Website verfügt über Abhängigkeiten von Steuerelementen oder Komponenten, die mit dem aktuellen Laufzeitmodul nicht kompatibel sind.

Erstellen einer neuen AJAX 1.0-Website in Visual Studio 2008

Die folgenden Verfahren zeigen, wie Sie neue ASP.NET AJAX 1.0-Websites oder -Webanwendungsprojekte erstellen, indem Sie Visual Studio 2008 verwenden. Die Prozedur unterscheidet sich für die Vollversion von Visual Studio 2008 und Visual Web Developer Express Edition in geringem Maße.

So erstellen Sie eine neue AJAX 1.0-Webseite

  1. Laden Sie ASP.NET AJAX 1.0 herunter, und führen Sie die Installation durch. Sie können das Installationsprogramm von der ASP.NET AJAX-Website (möglicherweise in englischer Sprache) herunterladen.

  2. Um eine neue Website zu erstellen, gehen Sie folgendermaßen vor:

    1. Klicken Sie im Menü Datei auf Neue Website.

    2. Wählen Sie im Dialogfeld Neue Website unter Von Visual Studio installierte Vorlagen die Option ASP.NET-Website.

  3. Führen Sie die folgenden Schritte aus, um ein neues Webanwendungsprojekt zu erstellen:

    1. Klicken Sie im Menü Datei auf Neues Projekt.

    2. Wählen Sie im Dialogfeld Neues Projekt unter Von Visual Studio installierte Vorlagen die Option ASP.NET-Webanwendung.

  4. Wenn Sie die Vollversion von Visual Studio 2008 (nicht Visual Web Developer Express Edition) in der Zielframeworkliste (in der oberen rechten Ecke) verwenden, wählen Sie .NET Framework 2.0.

  5. Klicken Sie auf OK.

    Die neue Website bzw. das Projekt wird erstellt.

  6. Wenn Sie Visual Web Developer Express Edition verwenden, ändern Sie das Zielframework in 2.0, indem Sie wie folgt vorgehen:

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Site, und klicken Sie dann auf Eigenschaftenseiten.

    2. Klicken Sie in der linken Liste auf Erstellen.

    3. Wählen Sie in der Liste Zielframework den Eintrag .NET Framework 2.0 aus.

  7. Erstellen Sie im Stammverzeichnis des Websiteordners eine ASP.NET AJAX 1.0-Web.config-Datei.

    Eine Liste des Inhalts einer ASP.NET AJAX 1.0-Web.config-Datei finden Sie unter Inhalt der ASP.NET AJAX 1.0-Web.config-Datei weiter unten in diesem Thema.

Öffnen einer vorhandenen ASP.NET AJAX 1.0-Website in Visual Studio 2008

Sie können in Visual Studio 2008 mit einer vorhandenen Website oder Webanwendung arbeiten, ohne eine Aktualisierung auf die aktuelle Version des Laufzeitmoduls durchzuführen.

So öffnen Sie vorhandene AJAX 1.0-Websites oder -Webanwendungsprojekte

  1. Legen Sie von der Website bzw. dem Webanwendungsprojekt eine Sicherungskopie an.

    Wenn die Website oder das Projekt unabsichtlich aktualisiert wird, wirkt sich das Upgrade auf die Dateien der Site aus. Dieser Vorgang kann nicht rückgängig gemacht werden.

  2. Öffnen Sie die Website bzw. das Webanwendungsprojekt in Visual Studio 2008.

  3. Wenn Visual Studio 2008 Sie auffordert, das Projekt zu aktualisieren, klicken Sie auf Nein.

    Das Projekt verwendet als Ziel weiterhin .NET Framework 2.0.

Aktualisieren der ASP.NET AJAX Control Toolkit-Assembly

Wenn Ihre Anwendung Steuerelemente oder Extender aus dem ASP.NET AJAX Control Toolkit enthält, müssen Sie eine Aktualisierung auf eine neue Control Toolkit-Version durchführen, um es zusammen mit Visual Studio 2008 ausführen zu können. Sie können die aktuelle ASP.NET AJAX 1.0 Control Toolkit-Version von der Codeplex-Website (möglicherweise in englischer Sprache) herunterladen. Stellen Sie sicher, dass Sie die Version 1.0 (die ursprüngliche Version) der Bibliothek abrufen.

Wichtiger Hinweis:

Das Control Toolkit ist eine durch eine Community unterstützte Bibliothek, die von Microsoft nicht unterstützt wird.

Nach der Control Toolkit-Installation können Sie der Toolbox die Control Toolkit-Steuerelemente hinzufügen.

So fügen Sie der Toolbox die Steuerelemente des ASP.NET AJAX Control Toolkit hinzu

  1. Öffnen Sie in der ASP.NET AJAX 1.0-Website bzw. im -Projekt eine ASP.NET-Webseite (Web Form).

  2. Klicken Sie mit der rechten Maustaste auf die Toolbox, und klicken Sie anschließend auf Registerkarte hinzufügen.

  3. Geben Sie der neuen Registerkarte einen Namen, z. B. "ASP.NET AJAX-Toolkit 1.0".

  4. Klicken Sie mit der rechten Maustaste auf die neue Registerkarte, und klicken Sie anschließend auf Elemente auswählen….

    Hinweis:

    Es kann ggf. eine Verzögerung geben, bevor dieses Dialogfeld zum ersten Mal geöffnet wird.

  5. Klicken Sie im Dialogfeld Toolboxelemente auswählen auf Durchsuchen….

  6. Navigieren Sie zu dem Ordner, der die AJAX Control Toolkit-Assembly enthält, markieren Sie die Datei AjaxControlToolkit.dll, und klicken Sie dann auf Öffnen.

    Die Steuerelemente aus dem Control Toolkit werden im Dialogfeld Toolboxelemente auswählen ausgewählt.

  7. Klicken Sie auf OK.

    Die Steuerelemente werden der Toolbox hinzugefügt.

Sie können mit der AJAX 1.0-Webanwendung jetzt in Visual Studio 2008 arbeiten. Die Anwendung wird mithilfe von .NET Framework 2.0 erstellt und ausgeführt.

Wenn Sie die Website das nächste Mal in Visual Studio öffnen, werden Sie nicht mehr aufgefordert, die Aktualisierung durchzuführen. Sie können die Zielversion jedoch jederzeit von .NET Framework in .NET Framework Version 3.5 ändern. Weitere Informationen finden Sie unter Gewusst wie: Aktualisieren eines ASP.NET AJAX 1.0-Webprojekts auf .NET Framework 3.5.

Verwenden von Visual Studio 2008-Funktionen in AJAX 1.0-Anwendungen

Sie können die neuen Features in Visual Studio 2008 zum Entwickeln Ihrer AJAX 1.0-Anwendung verwenden. Dabei gelten jedoch folgende Ausnahmen:

  • Die AJAX-Elementvorlagen wie AJAX-Web Form und AJAX-Masterseite sind im Dialogfeld Neues Element hinzufügen nicht verfügbar. Fügen Sie der Website eine normale Seite hinzu, um ASP.NET-Webseiten oder -Masterseiten mit AJAX-Unterstützung zu erstellen. Fügen Sie der Seite aus der Toolbox anschließend ein ScriptManager-Steuerelement hinzu.

  • JScript IntelliSense ist nicht verfügbar, wenn Sie mit dem ASP.NET-Profildienst arbeiten.

  • Extendersteuerelemente aus dem AJAX 1.0 Control Toolkit oder aus anderen ASP.NET AJAX 1.0-Steuerelementbibliotheken von Drittanbietern unterstützen keine Visual Studio 2008-Extendererweiterungen zur Entwurfszeit. Beispielsweise unterstützen sie nicht den Smarttagbefehl Extender auswählen… in der Entwurfsansicht.

Inhalt der ASP.NET AJAX 1.0-Web.config-Datei

Um eine ASP.NET AJAX 1.0-Konfigurationsdatei zu erstellen, erstellen Sie eine Datei mit dem Namen Web.config und fügen dann den folgenden XML-Code in die Datei ein:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
  <system.web>
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </controls>
    </pages>
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
  </system.web>
  <system.web.extensions>
    <scripting>
      <webServices>
        <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
        <!--
          <jsonSerialization maxJsonLength="500">
            <converters>
              <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
            </converters>
          </jsonSerialization>
        -->
        <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
        <!--
          <authenticationService enabled="true" requireSSL = "true|false"/>
        -->
        <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
             and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
             writeAccessProperties attributes. -->
        <!--
          <profileService enabled="true"
            readAccessProperties="propertyname1,propertyname2"
            writeAccessProperties="propertyname1,propertyname2" />
        -->
      </webServices>
      <!--
        <scriptResourceHandler enableCompression="true" enableCaching="true" />
      -->
    </scripting>
  </system.web.extensions>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
      <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>
  </system.webServer>
</configuration>

Siehe auch

Konzepte

.Verwenden von .NET Framework für Websites

Migrieren und Konvertieren von ASP.NET-Websites

Übersicht: Konvertieren von Visual Studio-Websites und -Projekten in Visual Studio 2008