ECMAScript を使用するアプリケーション ページをセットアップする

最終更新日: 2011年6月20日

適用対象: SharePoint Foundation 2010

SharePoint Online で使用可能

ECMAScript (JavaScript、JScript) オブジェクト モデルを使用するカスタム コードを .aspx ページのスクリプト ブロックに追加できます。また, .js ファイルを別に作成してコードを追加し、これを .aspx ページから参照することもできます。次の例では、「SharePoint のアプリケーション ページの作成」で説明されているように、Microsoft Visual Studio 2010 のアプリケーション ページで SharePoint Foundation プロジェクトが作成されていることを前提としています。Visual Studio では、アプリケーション ページは %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS に作成されます。

Visual Studio コード エディターで SP 名前空間の IntelliSense を取得するには、\LAYOUTS にインストールされている SharePoint Foundation .js ファイルを参照する <script> タグを追加します。この例で示すように、SP.Core.Debug.js、SP.Debug.js、および SP.Runtime.Debug.js への参照を追加します。

重要重要

Microsoft Visual Studio 2010 では、追加する <script> タグは、SharePoint Foundation クライアント オブジェクト モデル用の IntelliSense を提供するために使用する設計時のコンポーネントですが、プロジェクトをビルドするには、この <script> タグをコメント アウトする必要があります。また、サーバーでページをテストして、ページにエラーがないことを確認します。

SharePoint Foundation データを変更するコードを記述する場合は、FormDigest コントロールを追加して、ページのセキュリティ検証に使用するダイジェストを作成します。

<%@ 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>

SharePoint Foundation のインストールに含まれるデバッグ .js ファイルについては、「クライアント オブジェクト モデルの配布と展開」を参照してください。

関連項目

概念

[方法] Web サイトを処理する

データ取得の概要

一般的なプログラミング作業

その他の技術情報

クライアント クラス ライブラリ

ECMAScript クラス ライブラリ