Einrichten einer Anwendungsseite für ECMAScript

Letzte Änderung: Montag, 20. Juni 2011

Gilt für: SharePoint Foundation 2010

Verfügbar in SharePoint Online

Sie können benutzerdefinierten Code, in dem das Objektmodell von ECMAScript (JavaScript, JScript) verwendet wird, in einen Skriptblock auf einer ASPX-Seite einschließen. Alternativ können Sie eine separate JS-Datei erstellen, die den Code enthält, und auf der ASPX-Seite auf diese JS-Datei verweisen. Im folgenden Beispiel wird vorausgesetzt, dass Sie ein SharePoint Foundation-Projekt mit einer Anwendungsseite in Microsoft Visual Studio 2010 erstellt haben, wie in Creating Application Pages for SharePoint beschrieben. Die Anwendungsseite wird von Visual Studio in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS erstellt.

Fügen Sie <script>-Tags hinzu, die auf die JS-Dateien von SharePoint Foundation im Verzeichnis \LAYOUTS verweisen, um IntelliSense für den SP-Namespace im Code-Editor von Visual Studio zu aktivieren. Schließen Sie Verweise auf SP.Core.Debug.js, SP.Debug.js und SP.Runtime.Debug.js ein, wie im Beispiel dargestellt.

Wichtiger HinweisWichtig

Die hinzugefügten <script>-Tags stellen in Microsoft Visual Studio 2010 eine Entwurfszeitkomponente dar, mit der IntelliSense für das SharePoint Foundation-Clientobjektmodell bereitgestellt wird. Zum Erstellen des Projekts müssen Sie die <script>-Tags jedoch auskommentieren. Außerdem sollten Sie die Seite auf dem Server testen, um sicherzustellen, dass sie keine Fehler aufweist.

Wenn Sie Code schreiben, durch den SharePoint Foundation-Daten geändert werden, schließen Sie ein FormDigest-Steuerelement ein, um einen Digest für die Sicherheitsüberprüfung der Seite zu erstellen.

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" 
  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" 
  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" 
  Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestServerOM1.aspx.cs" 
  Inherits="TestServerOM1.Layouts.TestServerOM1.TestServerOM1" DynamicMasterPageFile="~masterurl/default.master" %>

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">

<script type="text/ecmascript" src="/_layouts/SP.Core.js" />
<script type="text/ecmascript" src="/_layouts/SP.Debug.js" />
<script type="text/ecmascript" src="/_layouts/SP.Runtime.Debug.js" />

<script language="ecmascript" type="text/ecmascript">

          function onQuerySucceeded(sender, args) {
              alert('Title: ' + this.oWebsite.get_title() + ' Decription: ' + this.oWebsite.get_description());
          }

          function onQueryFailed(sender, args) {
              alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
          }

          function retrieveWebSite() {
              var clientContext = new SP.ClientContext.get_current();
              this.oWebsite = clientContext.get_web();
              clientContext.load(this.oWebsite);
              clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
          }
      </script>
</asp:Content>

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">

    <SharePoint:FormDigest ID="FormDigest1" runat="server"></SharePoint:FormDigest>

    <input id="Button1" runat="server" Text="Retrieve Web Site" OnClick="retrieveWebSite()" />
  
</asp:Content>

<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
Application Page
</asp:Content>

<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
My Application Page
</asp:Content>

Weitere Informationen zu den in einer Installation von SharePoint Foundation enthaltenen JS-Debugdateien finden Sie unter Verteilung und Bereitstellung des Clientobjektmodells.

Siehe auch

Konzepte

Gewusst wie: Arbeiten mit Websites

Übersicht über den Datenabruf

Allgemeine Programmieraufgaben

Weitere Ressourcen

Clientklassenbibliothek

ECMAScript-Klassenbibliothek